Javascript 当div中的内容更改时调用函数?
我有一个页面,左侧是用户可以单击的链接列表,当他们被单击时,右侧的div将根据链接通过Ajax加载正确的内容。Javascript 当div中的内容更改时调用函数?,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,我有一个页面,左侧是用户可以单击的链接列表,当他们被单击时,右侧的div将根据链接通过Ajax加载正确的内容。 现在我想在右侧div的内容每次更改时启动一个函数。 在SO中搜索后,我了解到有,我使用domsubtreemedited事件: right_div.addEventListener("DOMSubtreeModified", handler, false); 但是,当我单击左侧的链接时,似乎会多次调用handler。我希望它只在新内容加载后调用一次。我如何才能做到这一点?是“通知
现在我想在右侧div的内容每次更改时启动一个函数。
在SO中搜索后,我了解到有,我使用
domsubtreemedited
事件:
right_div.addEventListener("DOMSubtreeModified", handler, false);
但是,当我单击左侧的链接时,似乎会多次调用handler
。我希望它只在新内容加载后调用一次。我如何才能做到这一点?是“通知文档所有更改的一般事件”。您可以为特定突变设置突变事件:
处理指令.数据
已被删除
已修改,但节点本身尚未修改
已插入或删除。近端
此事件的事件目标必须是
CharacterData
节点或
处理指令
节点
这些事件还没有在所有浏览器中得到广泛的支持,您如何在修改内容的功能中添加回调功能?@lbu实际上,这不是我的网站,我想编写一个用户脚本,向它添加一些有用的功能,它只需要在Chrome和Firefox中运行,如果没有看到您的代码,真的很难提供帮助。但是,如果处理程序被多次调用,这可能意味着DOM子树被修改了多次:-)。。。所以也许这不是你想用的。不能只使用回调,例如,等待readyState完成,然后启动您的函数(我假设jQuery不是一个选项,因为您没有添加该标记)?@squidbe是的,我不想包括jQuery,但如何在用户脚本中访问readyState?@squidbe-我读取MDC文档的方式,文档加载期间调度的事件,不是操纵。哦,我知道为什么它现在会被多次调用。但是我不能使用
DOMCharacterDataModified
,因为它不仅是右div中的文本内容,还有其他div。然后我想您必须过滤事件,以确定哪些事件需要响应,哪些事件需要忽略。