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

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

2.点击关闭按钮

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

再次点击#train

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

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

请建议。谢谢提前。

解决方法

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

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

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

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

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

注意 :

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

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

希望这可以帮助!

猜你在找的jQuery相关文章