gpt4 book ai didi

javascript - 即使使用解除绑定(bind)程序,如何防止 jQuery 多次触发?

转载 作者:行者123 更新时间:2023-11-28 04:31:54 25 4
gpt4 key购买 nike

我有 PHP (demo.php) 和 JavaScript 文件 (demo.js)。我有一个函数应该在服务器上创建和对象,返回它的 key ,使用它来创建它的路径,然后创建它的 URL。但是,一次只能有一个 URL 处于事件状态,因此这只发生一次很重要。然而,这种情况发生了多次,并且经常将我发送到已停用的链接。最后创建的链接始终有效,但我想避免必须去寻找此错误生成的链接。

我的 PHP (demo.php) 看起来非常像:

<div id="svg_graph">
// just a graph (code is irrelevant)
</div>

<div id="prompt">
<a id="startup" class="button"> Create New Object </a>
</div>

我的 JS 看起来像:

 function funcA(){
$("#svg_graph").mousedown(function(){
$(this).mousemove(function(e){
// irrelevant code
});
});

$("#svg_graph").mouseup(function(){
// $("a#startup").bind("click",function(){ // doesn't work either
$("a#startup").click(function(){
// Supposed to prevent multiple clicks, but doesn't
$("a#startup").unbind("click");
funcB();
});
$(this).unbind("mousemove");
});
}

// This function is being called more than once but I don't know why
function funcB(data){
var obj = createObj(data);
var url = "some predefined url" + obj.key;
window.location.replace(url);
)

最佳答案

现在,您应该使用 .off(),尽管 .unbind() 应该仍然可以工作。

如果解除绑定(bind)确实是问题所在,那么您的运气可能会更好:

$("#svg_graph").off('mouseup').on('mouseup', function() {
$("a#startup").off('click').on('click', function() {
funcB();
return false; // probably
});
});

关于javascript - 即使使用解除绑定(bind)程序,如何防止 jQuery 多次触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44555431/

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