Javascript 为什么是';假';在这个简单的addEventListener函数之后使用?
最后的错误是什么?谢谢Javascript 为什么是';假';在这个简单的addEventListener函数之后使用?,javascript,Javascript,最后的错误是什么?谢谢 window.addEventListener('load', function() { alert("All done"); }, false); 根据,第三个参数是: 使用捕获 如果true,useCapture表示用户希望 开始抓捕。发起后 捕获指定事件的所有事件 类型将被分派到 已注册的侦听器 发送到下面的任何EventTargets 它位于DOM树中。发生的事件 从树上冒出的气泡会 不触发指定为 使用捕获。看见 请详细解释 我也检查了MDN,但我仍然不明白
window.addEventListener('load', function() {
alert("All done");
}, false);
根据,第三个参数是:
使用捕获如果
true
,useCapture
表示用户希望
开始抓捕。发起后
捕获指定事件的所有事件
类型将被分派到
已注册的侦听器
发送到下面的任何EventTarget
s
它位于DOM树中。发生的事件
从树上冒出的气泡会
不触发指定为
使用捕获。看见
请详细解释
我也检查了MDN,但我仍然不明白useCapture
的用途,所以这个答案是为那些在检查了官方文档后仍然没有得到它的人准备的
首先,几乎所有浏览器都会出现以下情况:
在除IE 2->3之外的所有浏览器中
气泡-通过3->2->1
然后是你的问题。名为useCapture
的第三个参数指示您希望处理程序在两个阶段中的哪个阶段处理事件
useCapture=true
处理程序设置在捕获阶段。事件将在到达其子对象之前到达它
useCapture=false
处理程序设置在冒泡阶段。事件将在到达其子对象后到达它
这意味着如果您编写这样的代码:
child.addEventListener("click", second);
parent.addEventListener("click", first, true);
单击子元素时,first
方法将在second
之前调用
默认情况下,useCapture
标志设置为false这意味着只有在事件起泡期间才会调用处理程序
有关详细信息,以及。@Libra的回答很好,只是碰巧有一些像我这样的人更了解代码与机器的交互作用。
因此,下面的脚本应该解释事件传播。
基于此,我试图做的是:
以下事件在以下层次结构中上下流动:
<window>
<document>
<body>
<section>
<div>
<paragraph>
<span>
p{
背景:灰色;
颜色:白色;
填充:10px;
保证金:5px;
边框:薄黑色
}
跨度{
背景:白色;
颜色:黑色;
填充:2px;
游标:默认值;
}
Lorem ipsum dolor sit amet,是一位杰出的献身者。整数nec odio。自由女神。这是一个直径较大的曲线。塞德·尼西。纳拉奎斯,点击我。同侧矢状肌。普拉森特·莫里斯。他告诉我们,这是奥古斯特·森佩尔·波尔塔。毛里斯·马萨。前庭短弧。类aptent taciti socialsq。
我对javascript不太了解,所以我很难得到这个答案。我真的不知道什么是有用的捕获?请你告诉我一些事情好吗?@BikashChandraMondal检查下面的答案。请解释,不要只是复制/粘贴。这是一个无用的复制粘贴。非常好和全面的答案。我比现在明白多了,解释得很好。人的触觉,这就是区别所在。我真的很感激这个解释。很好的回答。请注意,useCapture=false
与默认值相关:这两个问题的答案对我来说都太复杂了。我在Chris Ferdinandi的博客上找到了一个简单的解释:“是的,你绝对应该一直使用它。在大多数现代浏览器中,它是可选的,但在一些早期的实现中,如果它被排除在外,侦听器就不会运行。请谨慎一点,并始终包含它。”()