Javascript addEventListener中的false(';click';,stopEvent,false)是什么意思?
在下面代码的最后一行中,第三个参数“false”代表什么Javascript addEventListener中的false(';click';,stopEvent,false)是什么意思?,javascript,Javascript,在下面代码的最后一行中,第三个参数“false”代表什么 var parent = document.getElementById('parent'), child = document.getElementById('child'), op = document.getElementById('op'), op2 = document.getElementById('op2'); parent.addEventListener('click', function () {
var parent = document.getElementById('parent'),
child = document.getElementById('child'),
op = document.getElementById('op'),
op2 = document.getElementById('op2');
parent.addEventListener('click', function () {
op.innerHTML += '<p>click registered</p>';
}, false);
function stopEvent (e) {
e.stopPropagation();
op2.innerHTML += '<p>propagation stopped</p>';
}
child.addEventListener('click', stopEvent, false);
var parent=document.getElementById('parent'),
child=document.getElementById('child'),
op=document.getElementById('op'),
op2=document.getElementById('op2');
parent.addEventListener('click',函数(){
op.innerHTML+='单击注册';
},假);
函数stopEvent(e){
e、 停止传播();
op2.innerHTML+='传播停止';
}
addEventListener('click',stopEvent,false);
它指定是否要捕获事件。在这种情况下,它不是必需的,因为它默认为false
。有关更多信息,请参阅。如果是真的,则会在所有其他添加的函数的开头考虑它(称为捕获的),如果不是,则只会简单地添加到列表的末尾(称为冒泡的),假设您有:
parent.addEventListener('click', function () { console.log("nocapture1"); }, false);
parent.addEventListener('click', function () { console.log("usecapture1"); }, true);
parent.addEventListener('click', function () { console.log("nocapture2"); }, false);
parent.addEventListener('click', function () { console.log("usecapture2"); }, false);
单击后,您将在控制台中按以下顺序使用它们:
usecapture1
usecapture2
nocapture1
nocapture2
也许看看医生?如果我没有记错的话,则与事件冒泡相反。是的,文档中说:如果没有指定,useCapture默认为false。但是为什么?你的意思是,为什么它在代码中设置为false
,即使它已经默认为false
?如果默认为false
,则child.addEventListener('click',stopEvent')代码>将是等效的。为了清晰起见,程序员可以选择将参数显式化。不,文档中说“如果为true,useCapture表示用户希望启动捕获。”和“请参阅以获取详细解释”。谢谢。这就是我想要的。对于javascript新手来说,阅读文档并不总是有帮助的。真正的例子是祝福。