我的代码如下:
$("#radar_play").click(function(){
console.log(this);
$(this).unbind('click');
$(this).bind('click');
....
.....
.....
}
然后在<body>
标签中,我有下面的按钮
<button id="radar_play'">PLAY ANIMATION</button>
对我而言,我看起来正在删除click事件(确实有效),然后重新附加它。
但点击事件永远不会再次受到约束。谁知道为什么?
答案 0 :(得分:2)
当你重新点击click事件时,你需要给它一个处理程序 ..否则不会对该事件采取行动..
$(this).unbind('click');
$(this).bind('click', function() {
// What you want to do
});
OR
$(this).unbind('click').bind('click', function() {
// What you want to do
});
另请注意,频繁绑定和取消绑定是反模式 ..如果可以,则需要避免使用
答案 1 :(得分:0)
您需要在重新绑定时指定处理程序,您可以命名您的闭包并按如下方式使用它:
$("#radar_play").click(function click_handler(){
//Perform the onclick logic
$(this).blabla...
$(this).unbind('click');
....
//now we want to bind again
$(this).bind('click', click_handler);
});