Henryk Plötz: lahmer cookie beim ie?

Beitrag lesen

Moin,

(ich bin mir nur nicht sicher, ob der Browser das mousemove über den Divs richtig intepretiert, oder ob er den daraufstehenden Text dann markiert, wie es auch so jetzt manchmal pasiert.... aber das ist natürlich ausprobierenswert.....)

Darum habe ich mich auch schon mal gekümmert (muss das jetzt aus dem Kopf machen, weil sich mein Rechner grade zerlegt hat):

Also du nimmst dir das Event-Objekt dass dein Handler kriegt und rufst ein paar Methoden auf. Nach DOM-Standard existieren preventDefault() und stopPropagation(); ersteres verhindert (in richtigen Browsern) dass der Browser die default-Aktion (also zum Beispiel markieren) ausführt, letzteres beendet das weitergeben des Events, so dass weitere von dir definierte Event-Handler nicht aufgerufen werden (brauchst du nur, wenn du noch mehr Event-Handler auf unterschiedlichen Ebenen hast).
Dann gibst du noch return false; zurück, was die meisten Browser auch zum Anlass nehmen den default nicht auszuführen.
Ich bin mir nicht sicher, aber ich glaube da gab es noch eine IE-spezifische Funktion.

Dein Event-Handler müsste also so aussehen:
function name(ev)
{
 if(window.event) ev = window.event; // Für alte IEs

// eventuell überprüfen ob dich das Event interessiert, und falls nicht mit return true; beenden

// der restliche Code

if(ev.preventDefault) ev.preventDefault();
 if(ev.stopPropagation) ev.stopPropagation(); // nicht unbedingt notwendig
 return false;
}

Damit verhinderst du in sogut wie allen Browsern die default-Reaktionen, also bitte mit Bedacht einsetzen.

--
Henryk Plötz
Grüße aus Berlin