【发布时间】:2026-02-01 21:10:01
【问题描述】:
举个例子,我们可以做如下的事情来让我们的监听器只在事件捕获阶段触发:
element.addEventListener(event, function, true);
或者,
element.addEventListener(event, function, {passive: true});
..使听众被动。但是,所有这些设置都仅限于通过 JavaScript 代码设置它们。如果我们在 HTML/Template 代码中为 DOM 元素添加监听器,例如:
<element onevent="function">
在这种情况下,我们如何在侦听器上进行所有这些设置?这些设置是可取的,尤其是当我们使用像 React 这样的框架时,我们只在模板中直接附加事件处理程序,几乎从不使用element.addEventListener()。
【问题讨论】:
-
我不认为你可以用 HTML 属性来做到这一点。如果您需要这种级别的控制,则必须使用 Javascript。
-
在这种情况下,您只能检查处理函数中的
eventPhase,然后根据该决定是否/如何继续。但是你真的还想在这个时代使用“内联”事件处理吗……? -
@Barmar 谢谢你,先生。但是,我会等待可能知道这个答案的人(如果存在)。你介意点赞这篇文章,以便其他用户可以注意到这一点并在他们真正知道的情况下发布答案吗? :)
-
顺便说一句,
event="function"应该是onevent="function()"。 -
@Barmar 已更正!谢谢:)
标签: javascript html reactjs dom dom-events