Javascript IE9-添加和删除DOM元素会破坏父键关闭事件
我们正在构建一个相当复杂的UI控件(实际上是一个datagrid),并在用户滚动网格时动态地从DOM树中添加/删除节点(并尝试以尽可能高的性能来完成) 我们在IE9和IE10中注意到,当我们从节点添加/删除子元素时,它停止触发其keydown事件: 看这把小提琴: 您可以看到,在两个左右的keydown事件之后,父级停止触发。但是,如果我取消注释keydown处理程序中的Javascript IE9-添加和删除DOM元素会破坏父键关闭事件,javascript,jquery,internet-explorer,dom,javascript-events,Javascript,Jquery,Internet Explorer,Dom,Javascript Events,我们正在构建一个相当复杂的UI控件(实际上是一个datagrid),并在用户滚动网格时动态地从DOM树中添加/删除节点(并尝试以尽可能高的性能来完成) 我们在IE9和IE10中注意到,当我们从节点添加/删除子元素时,它停止触发其keydown事件: 看这把小提琴: 您可以看到,在两个左右的keydown事件之后,父级停止触发。但是,如果我取消注释keydown处理程序中的$(child).focus()行,则一切正常 发生了什么,这是解决这个问题的最佳方法吗?在玩了一段时间这个示例后,我发现了
$(child).focus()
行,则一切正常
发生了什么,这是解决这个问题的最佳方法吗?在玩了一段时间这个示例后,我发现了以下几点:
child.style.border=“1px实心红色”代码>您会看到第二个子项被创建,因为第一个子项没有被删除。这是由于存在的
textarea
,那么Firefox的行为就好像我们在IE9中看到的那样