Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当div中的内容更改时调用函数?_Javascript_Dom_Javascript Events - Fatal编程技术网

Javascript 当div中的内容更改时调用函数?

Javascript 当div中的内容更改时调用函数?,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,我有一个页面,左侧是用户可以单击的链接列表,当他们被单击时,右侧的div将根据链接通过Ajax加载正确的内容。 现在我想在右侧div的内容每次更改时启动一个函数。 在SO中搜索后,我了解到有,我使用domsubtreemedited事件: right_div.addEventListener("DOMSubtreeModified", handler, false); 但是,当我单击左侧的链接时,似乎会多次调用handler。我希望它只在新内容加载后调用一次。我如何才能做到这一点?是“通知

我有一个页面,左侧是用户可以单击的链接列表,当他们被单击时,右侧的div将根据链接通过Ajax加载正确的内容。
现在我想在右侧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。然后我想您必须过滤事件,以确定哪些事件需要响应,哪些事件需要忽略。