2009-08-16 2 views
3

jQuery verwendet die Event-Bubbling-Strategie zur Behandlung von Ereignissen.Wird Event-Bubbling von allen Browsern unterstützt?

Und es behauptet, Cross-Browser zu sein,

aber „Ereignis sprudelt“ von allen Browsern unterstützt?

Es gibt noch eine andere Strategie: Event Capturing, das ist umgekehrt zur Event-Bubbling, ist es ausgestorben?

Oder meine Frage erneut erklärt, wie könnte:

Can Javascript entscheidet darüber, ob die Wahl „Event Capturing“ -Strategie oder „Ereignis sprudelnden“ -Strategie von selbst?

+0

Warum die -1? scheint eine legitime Frage zu sein. –

+0

http://www.quirksmode.org/js/events_order.html – airportyh

Antwort

5

Alle Browser? Nein, Lynx beispielsweise unterstützt überhaupt kein JavaScript.

Event Bubbling ist jedoch eine Standard DOM-Funktion. Die jQuery-Dokumentation lügt nicht.

+0

Vergessen Sie nicht, es gibt auch Event-Capturing-Strategie, wo ist es verwendet oder ist es ausgestorben? – omg

+0

Capturing eignet sich auch für unerwartete Ergebnisse, aber Sie können mehr darüber hier lesen: http://www.quirksmode.org/js/events_order.html. Es wird knifflig - wie mich zu fangen ist wie eine Schachtel Pralinen [dh Black-Box] - wie Sie vielleicht wissen oder nicht wissen, was im tiefen Ende ist; während, wenn ich innerhalb der 'black-box' bin, die etwas auslöst, weiß ich typischerweise, wie ich dorthin gekommen bin oder wie ich herausgekommen bin (dh 'blubbern'). :) Wie auch immer, diese Macken Seite bietet eine kurze (wie immer) Erklärung. –

0

Kurz gesagt, ja. Netscape Navigator 4 unterstützt dies nicht, aber ich glaube nicht, dass es große Sorgen macht, Netscape 4 in diesen Tagen zu unterstützen.

-4

Entweder sie lügen, oder die Definition für "Cross-Browser" muss leicht verändert werden. Es ist entweder Cross-Browser oder es ist nicht da ist keine dazwischen.

+0

Die Überschrift "Cross Browser" auf der jQuery-Homepage zeigt deutlich, was es bedeutet, wenn Sie den Mauszeiger darüber bewegen, und weitere Details finden Sie unter "Unterstützte Browser" in den Dokumenten. Zusammengefasst wird jeder bedeutende Browser für Desktop-Plattformen, der in den letzten Jahren veröffentlicht wurde, unterstützt, wobei viele ältere oder weniger gebräuchliche Browser gut funktionieren (ohne jedoch speziell unterstützte Ziele zu sein). – hobbs

+0

"jeder wichtige Browser" ...Dann ist es nicht komplett Cross-Browser, oder? ... Nein, ist es nicht. –

+0

Es läuft auf mehr als einem Browser. Daher ist es Cross-Browser. Die einzige Sache, die geändert werden muss, ist dein Missverständnis der Phrase. – hobbs

2

Vom jQuery compatibility page unterstützt es die folgenden Browser:

  • Firefox 2+
  • IE6 +
  • Safari 3+
  • Opera 9+
  • Chrome 1+

Alle unterstützen Ereignisblasen.

Nach der W3Schools browser usage page diese Browser Konto für 99,2% aller Browser-Nutzung im Juli 2009, würde ich sagen, das ist Cross-Browser-Unterstützung abgedeckt. Ignoriere diese peddling pointless pedantry über die Browserunterstützung, die alles oder nichts ist. Wenn Sie ein Benutzer eines anderen Browsers sind, sind Sie wahrscheinlich weit genug vom Mainstream entfernt, um Ihre eigenen Methoden zum Umgang mit Browserproblemen zu haben.

+0

Mein Hauptanliegen jetzt konzentriert sich darauf, wie Javascript wählt "Ereigniserfassung" oder "Ereignis sprudeln" Phase des Modells? – omg