【发布时间】: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