Avatar billede herchin Nybegynder
18. august 2001 - 13:48 Der er 4 kommentarer og
2 løsninger

\"onMouseUp\" vent virker ikke

I min <td> har jeg en række eventhandlers , som egentligt virker ok, bortset fra \"onMouseUp\". Hvorfor det? (\"onMouseUp\" er når man slipper den venstre musseknap efter at have trykket den ned, ik\'?)

<td id=\"oBold\" class=\"btn\" align=\"center\" onClick=\"changeBtnClass_Down(this); document.execCommand(\'Bold\');\" onMouseUp=\"changeBtnClass_Up(this)\"; onMouseOver=\"changeBtnClass_Over(this);\" onMouseOut=\"changeBtnClass_Out(this);\">
  <b>B</b>
</td>

Functions:

function changeBtnClass_Over(element) {
  element.className = \"btnOver\";
}

function changeBtnClass_Up(element) {
  element.className = \"btnOver\";
}

function changeBtnClass_Out(element) {
  element.className = \"btn\";
}

function changeBtnClass_Down(element) {
  element.className = \"btnDown\";
}


Styles:

.btn {
  background-color: buttonface;
  border-bottom: buttonface 1px solid;
  border-left: buttonface 1px solid;
  border-right: buttonface 1px solid;
  border-top: buttonface 1px solid;
  height: 23px;
  top: 1px;
  width: 23px;   
}

.btnOver {
  background-color: buttonface;
  border-bottom: buttonshadow 1px solid;
  border-left: buttonhighlight 1px solid;
  border-right: buttonshadow 1px solid;
  border-top: buttonhighlight 1px solid;
  height: 23px;
  top: 1px;
  width: 23px;
}

.btnDown {
  background-color: buttonface;
  border-bottom: buttonhighlight 1px solid;
  border-left: buttonshadow 1px solid;
  border-right: buttonhighlight 1px solid;
  border-top: buttonshadow 1px solid;
  height: 23px;
  top: 1px;
  width: 23px;
}
Avatar billede Slettet bruger
18. august 2001 - 14:35 #1
Den virker godt nok lidt tynd, men kan det være fordi, at du har byttet om på \" og ;
onMouseUp=\"changeBtnClass_Up(this);\" skal det være!
Avatar billede herchin Nybegynder
18. august 2001 - 14:50 #2
Virker desværre ikke, men tak for, at du så det!
Avatar billede herchin Nybegynder
19. august 2001 - 10:18 #3
Fandt løsningen:

Man kan åbentbart ikke bruge \"onMouseUp\" og \"onClick\" events samtidigt... Lyder mærkeligt, men det løste fraktisk problemet med en lille rettelse i <td>:

<td id=\"oBold\" class=\"btn\" align=\"center\"
onMouseDown=\"changeBtnClass_Down(this);\"
onMouseUp=\"changeBtnClass_Up(this); document.execCommand(\'Bold\');\" onMouseOver=\"changeBtnClass_Over(this);\" onMouseOut=\"changeBtnClass_Out(this);\"><b>B</b></td>
Avatar billede herchin Nybegynder
19. august 2001 - 10:19 #4
Som tak for din tid får du lige lidt point!
Avatar billede jakoba Nybegynder
19. august 2001 - 12:35 #5
Jeg vil tro at hvis du trykker knappen ned udenfor dit link, flytter pointeren hen over linket og derefter slipper; så vil du få den rene mouseup evente.
onclick er et mousedown efterfulgt af mouseup, og mouseup handleren håndteres først. Det din mouseup gør bliver så \'gjort om\' af onclick eventen bagefter.
Avatar billede Slettet bruger
20. august 2001 - 08:41 #6
TAK :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester