0

我有一个 div 元素,它根据 jquery 数据表的当前状态动态更改。例如,过滤时显示“显示 145 个条目中的 1 到 100 个(从 1,064 个条目中过滤)”。

根据其中一张表的加载方式,1,064 具有误导性,因为返回的记录为 1,064,记录已按组划分,因此您看到的最多的是 266,因此“显示 145 个条目中的 1 到 100 个(从 266 个总条目中过滤)”。

需要所有 1,064 而不仅仅是一个组的原因是您可以在组之间切换,它通过在组号列上进行过滤来实现这一点。

由于具有误导性的数字,我有一个 DOMCharacterDataModified 侦听器,它将 div 中的文本修改为正确的数字。问题是执行此操作的代码也用于加载相同记录但能够通过一些正则表达式过滤查看所有组的另一个表。

现在这一切都在 chrome 中完美运行,但是 DOMCharacterDataModified 在 IE9 中不会被触发。

监听函数

function testFunct() {
   debugger;
   var pause = "";
}

分区。

var doc = document.getElementById("tMain_info");

听者。

doc.addEventListener("DOMCharacterDataModified", testFunct);

也试过了。

doc.attachEvent("DOMCharacterDataModified", testFunct);

但这也不起作用,并导致 chrome 出现错误。

任何帮助表示赞赏。

4

1 回答 1

1

看来,对于微软来说,很多 Mutation Events 不再在 IE9 及更高版本中触发。也就是说,如果 DocumentMode 是 IE9 或更高版本,则 DOMCharacterDataModified 不会启动。

我自己正在开发一个 IE11 BHO,我观察到一些突变事件,如 DOMCharacterDataModified 没有触发。查看链接。

看来您应该改用 Mutation Event Observers。查看链接2 IE Event Technical Specs

从突变事件迁移到突变事件观察者。

于 2013-11-16T20:12:22.307 回答