addEventListener('click', stopEvent, false)中的false是什么意思?



波纹管代码的最后一行中第三个参数'false'代表什么?

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);

如果这是真的,它将在所有其他添加函数的开头考虑(称为captured),如果不是,则只需添加到列表的末尾(称为bubbled),假设您有:

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

它指定是否要捕获事件。 在这种情况下,这不是必需的,因为它默认为false。 有关更多信息,请参阅 MDN 文档以获取element.addEventListener

最新更新