在图像上禁用和启用click事件... jquery

时间:2015-03-06 14:41:40

标签: javascript jquery click

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

我可以轻松地轻松点击事件

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

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

如何根据特定情况再次“启用”点击事件?

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

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

});

3 个答案:

答案 0 :(得分:1)

尝试使用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');
    }
});

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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

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

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

如果条件返回true,则写一个条件来解除对图像的绑定,然后如果它为false,则将该事件重新绑定到图像上。

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
  }
});