gpt4 book ai didi

javascript - 为什么onClick事件会触发两次?

转载 作者:技术小花猫 更新时间:2023-10-29 11:59:01 43 4
gpt4 key购买 nike

我有以下 html:

<span onclick="alert('Boem')">
<button id="test1">test</button>
</span>

当我调用以下 javascript 时:

$('#test1').trigger('click');

onclick 事件触发了两次,而我希望它只触发一次。因为 JQuery 应该在 DOM 树中查找并且只找到一个 onclick。

我无法控制跨度,它是在第三方工具中生成的。我确实可以控制按钮及其参数。

您可以在此处找到一个 JSFiddle 示例: http://jsfiddle.net/Voga/v4100zke/

更新

我不知道span的onclick监听器的内容。这也是由第 3 方工具生成的。我希望点击触发器像现在一样执行此 onclick,但只执行一次。

最佳答案

它调用了两次,因为按钮在一个 span 内并且 span 有 onclick="alert('Boem')",因此当您触发点击按钮时它会显示警报和相同的点击事件传播跨越并再次显示警报。

您需要使用以下代码停止按钮的默认行为:

$(function(){
$('#test1').click(function(e){e.preventDefault();}).click();
});

Demo

关于javascript - 为什么onClick事件会触发两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25264726/

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