Javascript jquery-快乐点击器-查找绑定事件的回调

Javascript jquery-快乐点击器-查找绑定事件的回调,javascript,jquery,Javascript,Jquery,我将一些稍微复杂的功能绑定到单击事件 $(someSelector)).bind('click', someFunction(a,b,c)); function somefunction(a,b,c) { return function() { // some logic $(anotherSelector).each(function() { // fade out with call back... $

我将一些稍微复杂的功能绑定到单击事件

$(someSelector)).bind('click', someFunction(a,b,c));

function somefunction(a,b,c) {
    return function() {
        // some logic
        $(anotherSelector).each(function() {
            // fade out with call back...
            $(this).fadeOut("fast", function() {
                // TODO: add callback here???
                $(contentSelector).fadeIn("fast");
            })
        })

    }
}
问题在于,一系列快速点击会导致不一致的淡出/淡出行为。我假设在当前fadeIn完成之前处理了新的单击事件

我想我正在寻找一些回调机制,确保在当前点击完成后处理新的点击。我可以给fadeIn添加一个回调,但我看不出我的逻辑对我有什么帮助

我也读过关于只要点击一次就解除组件绑定的内容(然后再重新绑定),但我不确定我会把它放在哪个逻辑之上


感谢您的建议:)

您可以利用jQuery的功能和方法:

我在哪里

或者,您可以在回调的作用域之外创建一个变量,在回调中检查并设置它的值:

$(someSelector)).bind('click', someFunction(a,b,c));

var isWaiting = false;
function somefunction(a,b,c) {
  if (!isWaiting) {
    isWaiting = true;

    /* useful stuff here */

    isWaiting = false;
  }
}

我建议使用
.on
/
.off
方法,因为它更直接地处理jQuery事件绑定过程。

如果我理解正确的话,.stop()函数可能会对您有所帮助:Thx,但是stop()只会取消正在进行的动画-这不是我在这里要找的
$(someSelector)).bind('click', someFunction(a,b,c));

var isWaiting = false;
function somefunction(a,b,c) {
  if (!isWaiting) {
    isWaiting = true;

    /* useful stuff here */

    isWaiting = false;
  }
}