有没有办法让这个原型js只在dom被更改并且没有加载时触发?
答案 0 :(得分:10)
你可以观察到像这样改变的元素
$('element').observe('change',function(e){ } );
这是为表单元素保留的 - textarea,select和input。
最终代码如下所示:
document.observe('dom:loaded', function() {
$('element').observe('change',function(e){
// do something here
});
});
答案 1 :(得分:2)
'change'方法仅针对'input','textarea'和select元素定义,而不是针对常规元素。
“dom:loaded”事件是Prototype库定义的用户定义事件(就浏览器而言)。我不相信它可用作dom的任何模板:更改事件。
您正在寻找的是DOM突变事件,例如DomSubtreeModified(请参阅1)。但我不相信它们在浏览器中得到广泛支持。