我有一个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 }
$('#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);
希望这可以帮助!