document.observe(’dom:loaded’,function(){

有没有办法让这个原型js只在dom被更改并且没有加载时触发?

你可以观察到像这样变化的元素

$('element').observe('change',function(e){ } ); 

这是为表单元素保留的 – textarea,select和input。

最终的代码看起来像:

 document.observe('dom:loaded', function() { $('element').observe('change',function(e){ // do something here }); }); 

‘change’方法仅针对’input’,’textarea’和select元素定义,而不是针对一般元素。

“dom:loaded”事件是Prototype库定义的用户定义事件(就浏览器而言)。 我不相信它可用作dom的任何模板:更改事件。

您正在寻找的是DOM突变事件,例如DomSubtreeModified(参见1 )。 但我不相信这些在浏览器中得到广泛支持。