Ergebnis 1 bis 1 von 1
  1. #1
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.739

    Wie realisiere ich ein mouseenter/leave in allen Browsern

    Ein häufiges Problem ist, dass man gerne ein Event hätte, das nur feuert, wenn man mit der Mouse von außerhalb über ein Element geht und nicht wenn man innerhalb des Elementes über ein Kindelement fährt (oder aus dem Kind heraus). Gleiches Problem beim verlassen wieder (mouseleave).

    Der IE hat diese Events schon nativ dabei (und wird deswegen hier gar nicht beachtet) und ich kann diesem hier nur zustimmen: http://www.quirksmode.org/dom/events/index.html#t017

    Aber man kann sich das auch selbst zusammenbauen - mit Hilfe des relatedTarget-Attributs des Event-Objekts:
    Code:
    NODE_REFERENZ.onmouseover = function(ev){
    	if (ev.target.contains(ev.relatedTarget)) alert("enter");
    };
    - bei leave äquivalent.

    PS: kleines Problem beim FF: er kennt die Funktion contains nicht:
    Code:
    // FF has no NODE.contains
    if (window.Element && Element.prototype && !Element.prototype.contains && Element.prototype.compareDocumentPosition){
    	Element.prototype.contains = function contains(node){
    		return ((this.compareDocumentPosition(node) & 16) == 16) || this.isSameNode(node);
    	}
    }
    Geändert von kkapsner (17-03-2013 um 01:02 Uhr)

Ähnliche Themen

  1. Homepage schon mit Beta Browsern vorab testen
    Von romantiker im Forum Smalltalk
    Antworten: 3
    Letzter Beitrag: 19-04-2005, 18:03
  2. CSS: display funkt nicht mit allen Browsern
    Von Raven_3_ im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 10-01-2005, 09:45
  3. javascript gängig in allen browsern
    Von vossi im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 27-07-2004, 11:31
  4. iframes - mit welchen browsern kompatibel??
    Von reni im Forum JavaScript
    Antworten: 21
    Letzter Beitrag: 29-11-2002, 13:53
  5. Kompatibel zu den Browsern!
    Von dipser im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 09-11-2002, 22:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •