2010-11-28 67 views
1

我無法在Mozilla文檔的任何位置找到它。假設我編寫了一個在keypress上使用addEventListener的擴展。如果一個網頁包含一個調用keypress(或keydown)上的addEventListener的JS代碼,那麼執行優先級是什麼?我的分機是否可以保證首先收到該事件?Firefox擴展執行優先級

回答

1

事件首先經過「捕獲」階段,然後是「冒泡」階段。如果您使用捕獲階段(通過將true作爲addEventListener的最後一個參數),那麼您的偵聽器將在頁面上的偵聽器之前被調用,如果頁面上的偵聽器使用冒泡階段。我猜如果你不知道它在頁面上的工作方式,那麼你可以將它附加到頁面不可接觸的東西上(比如browser對象,或者甚至是gBrowser),然後你可以確定你的是第一個。見http://www.w3.org/TR/DOM-Level-3-Events/#event-flow