【问题标题】:addEventListener to div elementaddEventListener 到 div 元素
【发布时间】:2014-06-28 11:36:35
【问题描述】:

我试图在 div 的内容发生更改时触发脚本,特别是当 div 从 js 加载的分页器接收到下一组结果时。

我有这个:

<script script type="text/javascript" language="javascript">
document.addEventListener("DOMCharacterDataModified", ssdOnloadEvents, false);

function ssdOnloadEvents (evt) {
    var jsInitChecktimer = setInterval (checkForJS_Finish, 111);

    function checkForJS_Finish () {
        if (  document.querySelector ("#tester")
        ) {
            clearInterval (jsInitChecktimer);
            //do the actual work

            var reqs = document.getElementById('requests');
            var reqVal = reqs.get('value');
            var buttons = $$('.clicker');
            Array.each(buttons, function(va, index){
            alert(va.get('value'));
            });

        }
    }
}                                   
</script>

这在文档加载时效果很好(因为结果需要几秒钟才能到达),但我需要将其缩小到实际的 div 内容,因此页面上的其他更改不会触发事件。

我试过了:

var textNode = document.getElementById("sitepage_content_content");

    textNode.addEventListener("DOMCharacterDataModified", function(evt) {
    alert("Text changed");
    }, false);

但是上面没有返回任何东西。 我想做的事可以用这种方式完成吗?如果是,我哪里错了?

将社交引擎 (Zend) 框架与 MooTools 结合使用。

【问题讨论】:

  • #sitepage_content_content 是动态添加的吗?
  • @adeneo 不,这是保持元素(div)
  • 那我不知道,我只能告诉你,你使用的事件已被弃用,应该从网络上删除。
  • @adeneo 你的意思是监听器“DOMCharacterDataModified”吗?
  • 为什么不在你的 ajax 请求的 onSuccess 上添加一个回调,这样你就会从那里得到一些东西?

标签: javascript mootools socialengine


【解决方案1】:

最后我做了一个小骗子:-( 页面上有一个谷歌地图加载设置标记以匹配结果的位置。所以我将我的事件添加到这段代码的末尾,即:function setMarker() {}。 我不会将此标记为正确答案,因为它并不是我问题的真正答案,而是我的问题的解决方案,它已本地化到社交引擎框架。 我将在我原来的问题中添加一个社交引擎标签,希望它可以在未来对其他人有所帮助。 谢谢各位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-22
    • 2014-09-09
    • 1970-01-01
    • 2020-12-09
    • 2018-03-25
    • 2019-06-28
    • 2022-01-21
    相关资源
    最近更新 更多