我想关闭onclick直到onclick调用的函数完成。我怎样才能做到这一点?但我不想永远关闭onclick
function move() {
//do things...
$("#carr").off("click");
}
dado.onclick = move;
答案 0 :(得分:0)
虽然可以添加和删除eventListeners,但为函数调用添加一个保护可能更好一点,例如
var isRunning = false;
function myFunction(e, cb) {
// do stuff
return cb();
}
function guard(functionToRun, e) {
if (isRunning) {
return;
}
isRunning = true;
functionToRun(e, function() {
isRunning = false;
});
}
$someNode.on('click', guard.bind(this, myFunction));
答案 1 :(得分:0)
你走在正确的轨道上。使用JQuery的绑定和解除绑定函数:
function move() {
$("#carr").unbind("click");
//do stuff
$("#carr").bind("click", function () {
move();
});
}
$(document).ready(function () {
move();
});