gpt4 book ai didi

Javascript 函数被事件监听器多次调用

转载 作者:行者123 更新时间:2023-12-03 12:09:03 27 4
gpt4 key购买 nike

我有一个奇怪的问题,无法调试。

我有一个具有以下相关功能的脚本:

  • 函数 events()有一个 jQuery.on('click', callback(event))其中的事件绑定(bind)器。每次我使用 AJAX 添加或删除 anchor 时都会调用该函数,但这与此问题无关。

  • 函数 get_passwords()得到jQuery.attr("href")起 anchor $("a.active")并制作 $.post通过回调发送到服务器,该回调在收到数据后将值插入表中

函数get_passwords()在回调(事件)函数中同步调用,如下所示:

event.preventDefault(); //prevents a browser navigation
$("a.active").removeClass("active"); //removes active class from all other anchors
$(this).addClass("active"); //adds a class "active" to the anchor that was clicked
get_passwords(); <---- the function in question <--BREAKPOINT #1

函数get_passwords()包含以下相关行:

$.post("url", postData, function(data) { //put received data into table }); <--BREAKPOINT #2

现在,奇怪的错误是 get_passwords()函数被同一个事件监听器调用多次次,并且仅在每次点击 anchor 时在任意但恒定次后停止调用该函数与事件监听器。

我已经在上面指定的行上的 FireBug 中设置了断点,当我逐步执行脚本时,它所做的就是在上面设置的两个断点之间跳转(它调用 get_passwords() 的部分和它调用的部分)执行 $.post 4 次(始终相同的数量),直到第四次实际继续执行 $.post 函数中的回调。

意识到我无法要求任何人通读我编写的所有代码,有人对这个错误可能来自哪里有任何建议吗?

提前谢谢您。

编辑:http://jsfiddle.net/nt3A4/

最佳答案

您在寻找 event.stopImmediatePropagation() 吗?

关于Javascript 函数被事件监听器多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049462/

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