gpt4 book ai didi

javascript - 防止$('img').click触发多次

转载 作者:行者123 更新时间:2023-11-30 18:14:38 26 4
gpt4 key购买 nike

我想知道如何防止多次提示确认消息,在此先感谢!

JavaScript

$('img.delete').click(function () {         
if(confirm("This selected record will be deleted. Are you sure?")){
//Do something...
}
});

html

<tbody>
<tr>
<td><img class="delete" src="/images/delete.gif"><input value="708" type="hidden"></td>
<td>aaa</td>
</tr>
<tr>
<td><img class="delete" src="/images/delete.gif"><input value="595" type="hidden"></td>
<td>bbb</td>
</tr>
<tr>
<td><img class="delete" src="/images/delete.gif"><input value="19" type="hidden"></td>
<td>ccc</td>
</tr>
</tbody>

最佳答案

您的代码中的问题是您多次应用了点击处理程序;从您发布的代码中看不到这一点,但这绝对是原因。

如果多次运行 $('img.delete').click(fn),它不会覆盖之前的点击处理程序;相反,它添加了另一个处理程序。之后,当 img.delete 被点击时,所有注册的处理程序被连续调用,导致一个弹出窗口紧接着另一个。

应该先调用.unbind()来补救;这样做将有效地用新的点击处理程序替换以前的点击处理程序。

$('img.delete')
.unbind('click')
.click(function () {
if(confirm("This selected record will be deleted. Are you sure?")){
//Do something...

// remove the image here I guess?
}
});

但如果您也能找到根本原因,那就更好了。

关于javascript - 防止$('img').click触发多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622202/

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