Seite 1 von 1

JavaScript: Eventhandler wieder löschen?

Verfasst: 27.04.2010, 13:00
von Andreas I.
Hallo, wie lösche ich einen zugewiesenen Eventhandler?

Hintergrund: Ich habe eine HTML-Seite. Wenn da an einer bestimmten Stelle geklickt wird, wird das Ereignis onmousemove überwacht und entsprechend reagiert.
Nun möchte ich, dass bei onmouseup die Überwachung von onmousemove wieder aufhört und sich auf der HTML-Seite nichts mehr tut.
Ich löse es bisher so, dass ich einfach sage, dass bei onmousemove nach onmouseup eine neue Funktion lazy() auszuführen ist. Lazy ist eine leere Funktion.

Das funktioniert auch alles grundsätzlich, aber so ganz optimal stelle ich mir das nicht vor. Es wird dann ja dauernd lazy() aufgerufen. Rechenzeit, Akkulaufzeit,...

Wie kann ich den Eventhandler onmousemove einfach wieder löschen?

Verfasst:
von

Verfasst: 27.04.2010, 13:11
von heino
Kannst du onmousedown anstatt onmousemove einsetzen?

Verfasst: 27.04.2010, 13:30
von Andreas I.
Jaein.

Würde onmousedown auch funktionieren, wenn sich der Mauspfeil außerhalb des zu überwachenden Objekts befindet?

Es geht um einen JavaScript-Schieberegler. Wenn man da den Schiebegriff anklickt, wird eine JavaScript-Funktion aufgerufen, die den Schiebegriff verschiebt, je nach Mausposition.
Würde das Verschieben auch dann funktionieren, wenn man mit dem Mauspfeil außerhalb Schiebereglers ist, aber nach dem Klick noch nicht losgelassen hat?
Also fließen dann auch noch Datenwerte?

Verfasst: 27.04.2010, 15:46
von Andreas I.
Fürs Protokoll: Man sagt einfach:
document.onmousemove = null;