Avatar billede mik28 Seniormester
21. februar 2012 - 14:28 Der er 11 kommentarer og
1 løsning

fjern event

Hej Eksperter

Jeg har en knap hvor jeg har en onmouseover og en onmouseout. Hvor den første viser et billede og den anden et andet. Nu vil jeg gerne have at onmouseout bliver fjernet hvis man har klikket på knappen. Har prøvet følgende

<script>
function OnOut () {
            alert ("A click event has occurred on the red button.");
}

function RemoveEventHandler (id) {
            var myButton = document.getElementById (id);
            if (myButton.removeEventListener) {    // all browsers except IE before version 9
                myButton.removeEventListener ("mouseout", OnOut, false);
            }
            else {
                if (myButton.detachEvent) {        // IE before version 9
                    myButton.detachEvent ('onmouseout', OnOut);
                }
            }
        }
</script>



<div id="yes" style="" onclick="RemoveEventHandler('yes');" onmouseover="<VIS NOGET>" onmouseout="<VIS NOGET ANDET>"</div>
21. februar 2012 - 14:54 #1
Prøv at vise den kode der nu sørger for den onmouseout event.  Måske vil det være enklere at arbejde med den kode direkte.
Avatar billede mik28 Seniormester
21. februar 2012 - 14:55 #2
Det eneste jeg vil er at fjerne/disable onmouseout når man har trykker på onclick på det pågældende element
Avatar billede mik28 Seniormester
21. februar 2012 - 15:17 #3
min mouseout ser således ud

onmouseout="document.getElementById('billede1').style.display='inline';document.getElementById('billede2').style.display='none';"><img id="billede1" src="billede1.png"><img style="display:none;" id="billede2" src="billede2.png"
Avatar billede mik28 Seniormester
21. februar 2012 - 15:25 #4
OnOut bliver iøvrigt ikke kaldt. d.v.s jeg får ingen alert
Avatar billede mik28 Seniormester
21. februar 2012 - 15:34 #5
Jeg tænker om det overhovedet kan lade sig gøre, eller om det skal gøres på en anden måde
Avatar billede olebole Juniormester
21. februar 2012 - 15:45 #6
<ole>

Enten skal event'en sættes med addEventListener/attachEvent (den elegante løsning) - eller den mere 'kluntede':

<script type="text/javascript">
function RemoveEventHandler (elm) {
    elm.setAttribute("clicked", true);
}
</script>

<div id="yes" onclick="RemoveEventHandler(this);" onmouseover="this.style.background='red'" onmouseout="if(!this.getAttribute('clicked'))this.style.background='yellow'">Blabla</div>

/mvh
</bole>
Avatar billede mik28 Seniormester
22. februar 2012 - 10:44 #7
Jeg forstår ikke helt hvordan jeg skal implementerer den første løsning, men jeg har da fået den anden til at virke
Avatar billede olebole Juniormester
22. februar 2012 - 16:03 #8
Jeg har heller ingen idé om, hvordan du kan bruge den første løsning. Det kræver, man er rimelig godt inde i hele løsningen. Men brug bare den anden  =)
Avatar billede mik28 Seniormester
25. februar 2012 - 09:04 #9
Har som sagt brugt den anden. Mangler et svar så jeg kan lukke
Avatar billede olebole Juniormester
25. februar 2012 - 09:22 #10
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det - og del evt. med Christian, hvis hans inlæg var til hjælp. Bare vi får tråden lukket  =)
Avatar billede mik28 Seniormester
25. februar 2012 - 09:28 #11
Christian lægger du et svar?
25. februar 2012 - 14:55 #12
Jeg lægger gerne et svar og modtager points hvis du synes det.  Men jeg nåede kun at stille et uddybende spørgsmål.  Da jeg kom tilbage til tråden var der allerede aktivitet igang med at finde løsninger, så jeg holdt mig tilbage.
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