1.我有一个 onclick 事件,
$('#locations').click(function(){
$('#train').unbind('click');
//do some stuff
}
2.单击关闭按钮后
$('.close').click(function(){
//do some stuff
}
3.然后如果我点击#train
$('#train').bind('click', function() {
alert('train is clicked');
//do some stuff
}
现在的问题是#train没有触发。是否要在.close函数上再次绑定(bind)事件?
请提出建议。提前致谢。
最佳答案
看看你的问题,在你取消绑定(bind)
之后,你似乎没有绑定(bind)回点击
,所以它不会触发。 (假设您保持了正确的功能顺序)。你必须这样做:
//Set a function with the action you need to do after you click the train
function trainClick() {
alert('train is clicked');
//do some stuff
}
解除绑定(bind)时,使用函数名称调用unbind
:
$('#locations').click(function(){
$('#train').unbind('click',trainClick);
//do some stuff
}
然后,要绑定(bind)点击(当点击 #close
时),您可以使用:
$('.close').click(function(){
$('#train').bind('click',trainClick);
//do some stuff
}
注意:
更好的方法是使用 on
和 off
,如果您使用的版本高于 jQuery v1.7,因为,好吧.. 那么它将不起作用。在上面的代码中,只需将 bind
替换为 on
,将 unbind
替换为 off
。
$('#train').on('click',trainClick);
$('#train').off('click',trainClick);
希望这有帮助!
关于jquery - 首先解除绑定(bind)点击然后绑定(bind)(jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17250308/