我有 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/