2010-11-28 7 views
1

Ich konnte es nirgendwo in Mozillas Dokumentation finden. Angenommen, ich codiere eine Erweiterung, die addEventListener auf Tastendruck verwendet. Was ist die Ausführungspriorität, wenn eine Webseite einen JS-Code enthält, der addEventListener auch auf Tastendruck (oder Keydown) aufruft? Ist garantiert, dass meine Nebenstelle das Ereignis zuerst erhält?Firefox Extension Execution Priority

Antwort

1

Das Ereignis durchläuft zunächst eine "Capturing" -Phase, dann eine "Bubbling" -Phase. Wenn Sie die Erfassungsphase verwenden (indem Sie true als letzten Parameter auf addEventListener setzen), wird Ihr Listener vor dem auf der Seite aufgerufen, wenn der auf der Seite die Bubbling-Phase verwendet. Ich denke, wenn Sie nicht wissen, wie es auf der Seite funktioniert, dann können Sie es einfach an etwas außerhalb der Reichweite der Seite (wie das browser Objekt oder sogar gBrowser) anhängen und dann würden Sie sicher sein, dass Ihre zuerst geht . Siehe http://www.w3.org/TR/DOM-Level-3-Events/#event-flow