phonegap中deviceready的监听器中第3个参数的用途是什么?

时间:2015-11-03 15:04:00

标签: javascript cordova

我在stackoverflow上经历了很多相同的解决方案,但我的概念仍然不明确 我所理解的是,当没有从设备就绪的链接功能调用活动时,它应该保持为假。即

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

如果没有要调用的活动,那么在onDeviceReady函数中,只有它应该保持为false。告诉我,我是否正确? 如果没有,请用简单的词语纠正我 我开始知道第三个参数被称为

  

useCapture

2 个答案:

答案 0 :(得分:1)

document.addEventListener函数实际上是JavaScript的一部分,而不是Phonegap。

您可以在此处找到有关Mozilla Developer Network的文档:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

第三个参数确实称为useCapture

从上面链接的MDN页面:

  

如果为true,则useCapture表示用户希望启动捕获。启动捕获后,指定类型的所有事件将被分派到已注册的侦听器,然后再分派到DOM树中它下面的任何EventTarget。向上冒泡树的事件不会触发指定使用捕获的侦听器。有关详细说明,请参阅DOM Level 3事件和JavaScript事件顺序。如果未指定,则useCapture默认为false。

似乎切换了JavaScript事件捕获:http://www.quirksmode.org/js/events_order.html#link2 这意味着容器的处理程序将在它的子项之前触发。

答案 1 :(得分:0)

我理解的是,如果有两个设备准备就绪的陈述 例如:

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

首先执行的是真实的,然后是假的 我想这次我是对的