委托事件触发两次
该委托事件会触发两次(并非总是如此,有时)。
client.bindButtonClickFunction = function(){
$("#client-plugin").delegate(".client-button", "click", function()
{
var id = this.id.split('-')[2];
client.retrieveMessageByID(id);
});
};
我在插入所有“.client-button”后调用该函数。
关于如何阻止它有什么想法吗?我尝试了 event.stopPropagation(),也尝试了取消委托和重新委托,但均无济于事。
这是在 Chrome 中,作为 Chrome 插件的一部分。
This delegate event is firing twice (not always, sometimes).
client.bindButtonClickFunction = function(){
$("#client-plugin").delegate(".client-button", "click", function()
{
var id = this.id.split('-')[2];
client.retrieveMessageByID(id);
});
};
I call the function after inserting all the ".client-button"'s.
Any thoughts on how to stop it? I tried event.stopPropagation(), and also undelegating and re-delegating to no avail.
This is in Chrome, as part of a Chrome plugin.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据您注册委托的方式,您可能想要执行以下操作:
此外,尝试从处理程序添加
return false
。Depending on how you register the delegate, you might want to do:
Also, try to add a
return false
from your handler.您需要立即停止传播
You need to stop immediate propagation