jquery - 首先解除绑定(bind)点击然后绑定(bind)(jquery)

标签 jquery onclick bind unbind

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
}

注意:

更好的方法是使用 onoff,如果您使用的版本高于 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/

相关文章:

javascript - jQuery 无法识别类更改

单击时启动 Activity 的android小部件

jQuery:如果用户点击 div 之外

jquery - 回调内绑定(bind)/取消绑定(bind)

jQuery img 交换 - 保持宽度和高度

html - 同一元素内的同一类

javascript - 如何确保首先调用 JavaScript 函数?

javascript - 使用onclick更改图片标题

ios - 将多个操作绑定(bind)到单个控件事件时,绑定(bind)顺序是否重要?

java - Tomcat 的系统属性 'tomcat.bind.address' 是什么?