解除绑定后如何重新绑定点击事件到锚点?
我想在第一次单击后取消绑定锚点,但是当用户单击特定按钮时,我想将单击事件重新绑定到该锚点
我编写了这段代码,
$(document).ready(function(){
$("a.package").click(function(){
//alert('click');
$(this).unbind('click');
// the rest of the code
});
$('#activate').click(function(){
$('a.package').bind('click');
// the rest of the code
});
});
取消绑定功能运行良好,但绑定功能不起作用,为什么?以及如何让它发挥作用?
I want to unbind the anchor after the first click, but when user click a specific button, I want to rebind the click event to this anchor
I wrote this code
$(document).ready(function(){
$("a.package").click(function(){
//alert('click');
$(this).unbind('click');
// the rest of the code
});
$('#activate').click(function(){
$('a.package').bind('click');
// the rest of the code
});
});
the unbind function works well, but the bind function does not work, why? and how to make it work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将您的点击函数存储在变量中,以便可以轻松地重新分配它...
Store your click function in a variable so that it can easily be re-assigned...
你必须传递一个回调来绑定,一旦解除绑定它就不会记住任何东西。这意味着当您在 #activate.click 中再次指定绑定时,您必须在那里指定该函数。也许最好的方法是在其他地方指定函数并将其用于绑定调用。
在下面的示例中,我使用 jquerys .data 将函数存储在“clickFunc”下,然后将其用作 .click 的回调。你也可以使用 var。
http://jsfiddle.net/nj65w/13/
You have to pass a callback to bind, it doesn't remember anything once it is unbound. Meaning when you specified the bind again in the #activate.click you would have to specify the function there. Probably the best way to do this is specifiy the function else where and use that for the bind call.
In the example below i use jquerys .data to store a function under 'clickFunc' and then use this as the callback for the .click . You could just also use a var.
http://jsfiddle.net/nj65w/13/
尝试将第一个绑定更改为 .one()。
Try changing the first binding to .one().