Warum ist event.bubbles für "focusin" und "focusout" falsch?

9

Vor ein paar Minuten habe ich die Frage beantwortet:
Was ist der Unterschied zwischen Fokus / Fokus gegen Fokus / Unschärfe in jQuery ?

Die Antwort war:

Kurze Antwort: focusin bubbles, focus nicht.
focusout bubbles, blur nicht.

Ich habe es getestet, es ist wahr, aber ich stieß auf eine seltsame Sache, als ich versuchte, eine DEMO <> einzurichten / a>:

%Vor%

focusin und focusout geben mir e.bubbles == false

Ist es ein Bug von jQuery oder fehlt mir das Offensichtliche hier?

    
gdoron 14.05.2012, 13:40
quelle

1 Antwort

4

Klingt wie ein Fehler in jQuery. Haben Sie das in einem Browser getestet, der focusin und focusout nativ unterstützt? (Z. B. IE?) Wenn nicht, testen Sie die Flagge für jQuery's emulierte Unterstützung.

Ich habe oben das "Klingt wie ein Fehler" -Bit durchgestrichen, weil jQuery nicht behauptet, die Eigenschaft bubbles in der Dokumentation zu normalisieren. Da es dies nicht garantiert, muss es es bei emulierten Ereignissen nicht unterstützen. (Beachten Sie, dass ich, wenn ich Ihre Demo auf IE7 ausführe, undefined erhalte, weil IE7 die Eigenschaft DOM3 Events bubbles nicht unterstützt.) Immer noch ein Problem , aber vielleicht kein Bug : -)

Aktualisieren :

Antwort auf dem jQuery-Ticket :

  

Die Dokumentation erhebt keinen Anspruch darauf, die Eigenschaft event.bubbles zu normalisieren. Sie können in event.originalEvent danach suchen, aber das wird unabhängig von der Plattform unnormalisiert sein.

Also meine obige Vermutung war richtig. Es ist kein Bug , weil sie nicht behaupten, das zu normalisieren. : -)

    
T.J. Crowder 14.05.2012, 13:43
quelle

Tags und Links