问同样的问题2个星期前here后,我终于找到了“的”解决方案。这就是我回答我自己的问题的原因。 ;)如何绑定,解除绑定并重新绑定(点击)事件在JQuery中
如何绑定,解除绑定并重新绑定事件jQuery的?
问同样的问题2个星期前here后,我终于找到了“的”解决方案。这就是我回答我自己的问题的原因。 ;)如何绑定,解除绑定并重新绑定(点击)事件在JQuery中
如何绑定,解除绑定并重新绑定事件jQuery的?
,这是一个完美的解决方案。 (至少对我来说)
$(document).on('click', 'a#button', function(){
$(this).after('<span> hello</span>');
$('span').fadeOut(1000);
});
$('a#toggle').toggle(
function(){
$(this).text('rebind');
$('a#button').on('click.disabled', false);
},
function(){
$(this).text('unbind');
$('a#button').off('click.disabled');
}
);
“.on()”会这样做。注意:像在第一行中看到的那样绑定事件非常重要!它不适用于.click()或...!
查看docs!
Here is a fiddle尝试它与它实验!
享受!
如果你已经回答了你的原始问题,你为什么要转发它? –
我想是因为其他解决方案也很好,很有用! (更新了旧帖子) –
很好的答案!这当然帮助我暂时禁用按钮的点击事件。而且,为了更加强调,点击事件的上下文应该如何显示在上面的答案中! –
此函数将jQuery扩展为包含一个与.on相同的附加事件处理函数的运算符。此外,它可以防止给定处理程序的多个实例连接到选择器。
请注意,删除和重新附加事件处理程序会更改它们附加的顺序。
(function ($) {
$.fn.reBind = function(events, handler) {
return this.off(events, handler).on(events, handler);
};
}(jQuery));
一种更简单和短期的解决方案是,如果你想解除绑定,然后删除这个类重新绑定前添加一个类的对象;
$('#button').click(function(){
if($(this).hasClass('unbinded')) return;
//Do somthing
});
$('#toggle').click(function(){
$('#button').toggleClass('unbinded');
});
的
可能的复制[jquery的重新绑定()禁用事件在特定的时间,然后重新绑定他们](https://stackoverflow.com/questions/13729681/jquery-rebind-disable-events-for-a-特定时间然后重新绑定他们) –