2015-11-03 25 views
0

我經歷了許多關於stackoverflow的解決方案,但仍然不清楚我的概念。
我的理解是,當沒有任何活動可以從設備就緒鏈接函數中調用時,它應該保持爲假。即phoneready中deviceready監聽器中第三個參數的用法是什麼?

document.addEventListener("deviceready", onDeviceReady, false); 

這裏在onDeviceReady函數中,如果沒有要調用的活動,那麼只有它應該保持爲false。告訴我我是否正確?
如果不是,請用簡單的詞語糾正我。
我才知道,第三個參數被稱爲

將useCapture

+1

請參閱http://stackoverflow.com/questions/7398290/unable-to-understand-usecapture-attribute-in-addeventlistener – Griffith

回答

1

的document.addEventListener函數實際上是JavaScript的,沒有的PhoneGap的一部分。

您可以在Mozilla開發者網絡文檔在這裏:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

第三個參數確實叫將useCapture

從MDN頁上面鏈接:

如果爲真,將useCapture指示用戶希望啓動捕獲。在啓動捕獲之後,指定類型的所有事件將被分派到註冊的偵聽器,然後被分派到DOM樹下的任何EventTarget。在樹中冒泡的事件不會觸發指定使用捕獲的偵聽器。有關詳細說明,請參閱DOM級別3事件和JavaScript事件順序。如果未指定,則useCapture默認爲false。

這似乎觸發JavaScript事件捕獲:http://www.quirksmode.org/js/events_order.html#link2 這意味着容器的處理程序將會觸發它的孩子們的面前。

0

我的理解是,如果有兩個設備就緒語句。
對於例如:

document.addEventListener("deviceready", onDeviceReady, false); 
document.addEventListener("deviceready", onDeviceReady, true); 

的其中一個爲真將首先執行,然後將假之一。
我想我這次是正確的

相關問題