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