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

时间:2009-12-15 14:07:09

标签: javascript ruby-on-rails prototypejs

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

2 个答案:

答案 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)。但我不相信它们在浏览器中得到广泛支持。