gpt4 book ai didi

javascript - 如何防止事件在子元素中被激活?

转载 作者:行者123 更新时间:2023-11-30 09:26:02 25 4
gpt4 key购买 nike

我不希望在输入中激活该事件。

我的代码html

<header>
<nav class="titlebar" ondblclick="test()">
<input class="box" type="text">
<hr>
</nav>
</header>

我的代码js

function test() {
alert('holi')

最佳答案

您可以有条件地检查输入。如果您想避免更多元素,可以检查类名等特征。

function test(e) {
if(e.target instanceof HTMLInputElement && e.target.type == 'text') {
console.log("INput clicked");
} else {
console.log("somewhere else");
}
}
<header>
<nav class="titlebar" ondblclick="test(event)">
<input class="box" type="text">
<hr>
</nav>
</header>

另一种方法是将监听器附加到子元素:

function test() {
console.log("clicked container");
}

function stop(event) {
event.stopPropagation(); //Stops propagation to parent
}
<header>
<nav class="titlebar" ondblclick="test(event)">
<input class="box" type="text" ondblclick="stop(event)">
<hr>
</nav>
</header>

关于javascript - 如何防止事件在子元素中被激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49087801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com