在删除我的委托处理程序附加到的元素时,我在 IE8 上使用 jQuery 的 .delegate() 方法遇到了一个问题。这是场景:我有一个表,其中的行都有一个删除按钮。这些行是动态创建的,因此删除按钮是使用委托连接的,以处理单击事件。当需要删除最后一行时,整个表都被删除了(只有在有创建至少一行的值时才创建表。)除了 IE8 之外,几乎所有地方都可以正常工作。即使那样,它也可以在某些页面上运行,但不是一个(每个页面上使用完全相同的代码。)对于这个特定页面,删除最后一行会在 IE8 中生成一个 js 错误,指出“需要对象”- 违规行在委托的 jQuery 代码中。
所以问题是,当处理程序使用的某些 DOM 元素被删除时,处理程序的最佳实践是什么?是否应该在某个时候调用取消委托,如果是,在哪里?