先取消绑定点击然后绑定(jquery)

前端之家收集整理的这篇文章主要介绍了先取消绑定点击然后绑定(jquery)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个onclick事件,
  1. $('#locations').click(function(){
  2. $('#train').unbind('click');
  3. //do some stuff
  4. }

2.点击关闭按钮

  1. $('.close').click(function(){
  2. //do some stuff
  3. }

再次点击#train

  1. $('#train').bind('click',function() {
  2. alert('train is clicked');
  3. //do some stuff
  4. }

现在的问题是#train没有被触发。它是否重新绑定在.close函数上的事件?

请建议。谢谢提前。

解决方法

看着你的问题,在你解除绑定之后,你似乎没有绑定点击,所以它不会触发。 (假设你已经保持了你的功能的顺序)。你必须这样做:
  1. //Set a function with the action you need to do after you click the train
  2. function trainClick() {
  3. alert('train is clicked');
  4. //do some stuff
  5. }

解除绑定时,使用函数名称调用unbind:

  1. $('#locations').click(function(){
  2. $('#train').unbind('click',trainClick);
  3. //do some stuff
  4. }

然后,要绑定点击(当点击#close时),您可以使用:

  1. $('.close').click(function(){
  2. $('#train').bind('click',trainClick);
  3. //do some stuff
  4. }

注意 :

一个更好的方法将是使用on和off,如果你使用的版本大于jQuery v1.7,因为,它不会工作。在上面的代码中,只需用on替换bind,关闭即可解除绑定。

  1. $('#train').on('click',trainClick);
  2. $('#train').off('click',trainClick);

希望这可以帮助!

猜你在找的jQuery相关文章