Arianule
Arianule

Reputation: 9043

Disabling and enabling click event on image...jquery

what would be the best way to enable and then re-enable and image click with jquery?

I can diasble the click event easy enough

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

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

how would I go about in 'enabling' the click event again based on a certain condition?.

I would want to enable the button again for example

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

});

Upvotes: 0

Views: 3578

Answers (3)

James
James

Reputation: 442

In order to rebind you would need to use the original .on("click") event again.

Write a function to bind an event to your image:

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

Then write a conditional to unbind the event on the image if your condition returns true, then if its false, rebind the event to the image as normal.

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

Alternatively, you could complete this within a single function such as:

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

Upvotes: 1

AhmadAssaf
AhmadAssaf

Reputation: 3654

you disable the default event by:

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

so basically is not that you enable then disable, you prevent the default action, check for your condition and they execute appropriate function

Upvotes: 1

Mateusz Mania
Mateusz Mania

Reputation: 849

Try to use jQuery off method.

JSFiddle

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

Full code:

var condition = true;

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

    if(condition){

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

Upvotes: 1

Related Questions