【发布时间】:2012-02-17 03:07:03
【问题描述】:
在删除我的委托处理程序附加到的元素时,我在 IE8 上使用 jQuery 的 .delegate() 方法遇到了问题。这是场景:我有一个表,其中的行都有一个删除按钮。这些行是动态创建的,因此删除按钮是使用委托连接的,以处理单击事件。当需要删除最后一行时,整个表都被删除了(只有在有一个值可以创建至少一行时才创建表。)除了 IE8 之外,几乎所有地方都可以正常工作。即使那样,它也可以在某些页面上运行,但不是一个(每个页面上使用完全相同的代码。)对于这个特定页面,删除最后一行会在 IE8 中生成一个 js 错误,指出“需要对象”- 违规行在委托的 jQuery 代码中。
所以问题是,当处理程序正在使用的某些 DOM 元素被删除时,处理程序的最佳做法是什么?是否应该在某个时候调用 undelegate,如果是,在哪里调用?
【问题讨论】:
-
请输入代码.....因为我认为您的代码存在问题,而不是“最佳实践”...
-
如何从 DOM 中删除表格元素?贴出代码。
-
希望这能给你一个想法或什么jsfiddle.net/reigel/c5mr5