当我附加 html 元素时,它会覆盖点击功能
this.div=$j("<div class='test' id='test"+this._x+"'>"+this.getHtml(inner)+"<a id='testa"+this._x+"''>Close</a></div>");
this.div.hide().appendTo($j("body")).fadeIn(100);
this.div.children("#testa"+this._x).bind('click', function(){
alert(this._x);
});
在构造函数中,
this._x = x;
x++;
当我单击 testa 时,他给了我 this._x 最后一个 x 数字 有覆盖吗?
this.div=$j("<div class='test' id='test"+this._x+"'>"+this.getHtml(inner)+"<a id='testa"+this._x+"''>Close</a></div>");
this.div.hide().appendTo($j("body")).fadeIn(100);
this.div.children("#testa"+this._x).bind('click', function(){
alert(this._x);
});
in constructor
this._x = x;
x++;
when i click testa he gives me this._x last x number
is there an override?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,JS 事件与元素本身相关。如果删除并重新创建一个元素,处理程序也会随之而来。您可以重新连接它们,或者研究使用 jQuery 的 .live() 功能。
Yes, JS events are tied to the element itself. If you delete and recreate an element the handlers go with it. You can either re-connect them, or look into using jQuery's .live() functionality.
事件侦听器中的 this._x 指向 (A._x) 不存在的属性。
this._x in your event listener points to non existant property of (A._x).