Prüfen ob Browser Event kennt
Andi
- javascript
0 Christian S.0 Andi0 rfb0 Christian S.0 Andi0 Christian S.0 Andi
0 wahsaga
Hallo,
ich suche nach einer Möglichkeit herauszufinden ob der Browser ein Event unterstützt oder nicht.
Im IE kann ich das mit if (window.onscroll) testen.
Firefox & Opera machen da nicht mit. Wie kann ich herausfinden ob das Event unterstützt wird oder nicht?
Danke schonmal.
Hallo,
ich suche nach einer Möglichkeit herauszufinden ob der Browser ein Event unterstützt oder nicht.
Im IE kann ich das mit if (window.onscroll) testen.
Firefox & Opera machen da nicht mit. Wie kann ich herausfinden ob das Event unterstützt wird oder nicht?
Danke schonmal.
evtl mit
if(typeof(window.onscroll) != "undefined")
evtl mit
if(typeof(window.onscroll) != "undefined")
eben nicht denn wenn ich ein völlig unbekanntes event anlege
window.irgendeinevent = meinFunktion;
und dann frage ob das Event existiert
if(typeof(window.onscroll) != "undefined")
wird true zurück gegeben da
typeof(window.onscroll) == "function" ist.
Es muss ne andere Lösung her.
Grüße, Andi
Moin
eben nicht denn wenn ich ein völlig unbekanntes event anlege
window.irgendeinevent = meinFunktion;
und dann frage ob das Event existiert
if(typeof(window.onscroll) != "undefined")
ich würde die Reihenfolge daher auch umdrehen
Gruß
rfb
Moin
eben nicht denn wenn ich ein völlig unbekanntes event anlege
window.irgendeinevent = meinFunktion;
und dann frage ob das Event existiert
if(typeof(window.onscroll) != "undefined")
ich würde die Reihenfolge daher auch umdrehenGruß
rfb
ja genau... frag doch erst ab ob das event da ist (mit typeof...) und wenn ja, dann weist du die Funktion zu.
und wenn ein Browser ein Event wie zB onpropertychange was nur der IE kennt, nicht kennt, dann kannst du ja wahrscheinlich auch nichts daran ändern. Die Zuweisung wirft aber auch keinen Fehler, von daher nicht schlimm. Im FF wird dann halt einfach nichts passieren.
Anders zB bei onmousewheel. IE und Safari (u.a.) kennen das event, FF nicht. Da musst du es dann über addEventListener("DOMWheel", ...), oder so ähnlich implementieren...
Gruß
Christian
Nein klappt leider nicht.
OP & FF geben mir "NO" aus.
if (document.onmouseover) {
alert("OK");
}
else {
alert("NO");
}
Grüße!
Nein klappt leider nicht.
OP & FF geben mir "NO" aus.
if (document.onmouseover) {
alert("OK");
}
else {alert("NO");
}Grüße!
hm, dachte ja auch eigentlich mit typeof überprüfen...
aber das hab ich gerade selbst mal gemacht, hat nicht geklappt.
noch ne Idee war:
alert("onmouseover" in document);
aber das gibt auch nur im IE true zurück.
sorry, hab sonst keine idee...
Gruß
Christian
Ja schade das es nicht klappt.
Gibts im Web evtl. ne Dokumentation über sämmtliche Ereignisse mit Browser Unterstützung? Bei Selfhtml fehlen leider einige Events.
Dann kann ich zumindes mit der Browserweiche abhilfe schaffen.
Ja schade das es nicht klappt.
Gibts im Web evtl. ne Dokumentation über sämmtliche Ereignisse mit Browser Unterstützung? Bei Selfhtml fehlen leider einige Events.
Dann kann ich zumindes mit der Browserweiche abhilfe schaffen.
vielleicht hilft das?
http://en.wikipedia.org/wiki/DOM_Events
da sind DOM und MS Events. jeder standardkonforme Browser sollte dann die DOM events unterstützen...
... welche events willst du denn haben?
so standard events wie mouse sachen kennt doch jeder Browser...
Gruß
Christian
hi,
ich suche nach einer Möglichkeit herauszufinden ob der Browser ein Event unterstützt oder nicht.
Wirst du m.E. nicht finden.
Im IE kann ich das mit if (window.onscroll) testen.
Ja, typeof ergibt object, so lange noch keine Handlerfunktion zugewiesen wurde.
Die Objekteigentschaft window.onscroll scheint bei ihm also per se zu existieren, als allgemein vom Typ Object, selbst wenn noch keine Handlerfunktion zugewiesen wurde.
Firefox & Opera machen da nicht mit.
Bei denen scheinen also die Events nicht "automatisch" als Objekteigenschaften vorhanden zu sein. Erst wenn du ihnen eine Funktionsreferenz zuweist, werden sie angelegt.
Wie kann ich herausfinden ob das Event unterstützt wird oder nicht?
M.E. gar nicht.
gruß,
wahsaga