禁用和启用图像上的点击事件...jquery

Disabling and enabling click event on image...jquery

使用 jquery 启用然后重新启用并点击图像的最佳方式是什么?

我可以很容易地禁用点击事件

$(document).on("click", "#rightPager", function () {

if (condition) {
    $(this).click(false);
  }
});

'enabling' click 事件在一定条件下,我该如何处理?

例如,我想再次启用该按钮

$(document).on("click", "#leftPager", function () {
$("#rightPager").click(true);

});

尝试使用jQuery off method.

JSFiddle

$(document).off('click', '#rightPager');

完整代码:

var condition = true;

$(document).on("click", "#rightPager", function () {

    if(condition){

        alert('Click was disabled');
        $(document).off('click', '#rightPager');
    }
});

您通过以下方式禁用了默认事件:

$(document).click(function(e) {
     e.preventDefault();
    condition ? doSomething() :  doSomethingElse();
});​

所以基本上不是你启用然后禁用,你阻止默认操作,检查你的条件并执行适当的功能

为了重新绑定,您需要再次使用原始的 .on("click") 事件。

编写一个函数来将事件绑定到您的图像:

function bindImage() {
  $(img).on("click", function() {
   // Your bind event goes here
  });
}

然后写一个条件,如果你的条件returns为真,则取消绑定图像上的事件,如果它为假,则像往常一样将事件重新绑定到图像。

if (condition) {
  $(img).unbind();
} else {
  bindImage();
}

或者,您可以在单个函数中完成此操作,例如:

$(document).on("click", "#rightPager", function () {
  if (condition) {
    // terminate the function
    return false;
  } else {
    // put your function here to run as normal
  }
});