2009-12-15 91 views

回答

10

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

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

这是保留的表单元素,但 - 文本区域,选择和输入

最终代码会看起来像:

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

谢谢,我正在寻找像一个dom:onChange因为我的JS技能缺乏。 – s84 2009-12-15 14:19:11

+0

不用担心,请注意,尽管您需要在dom中嵌入此代码:加载或窗口加载的代码才能正确监听事件。另外,如果这有帮助,请记得接受答案/投票:) – robjmills 2009-12-15 14:21:04

+0

尽管我很欣赏你的答案,但我仍然需要更多的研究,因为最简单的解决方案是将更改加载到另一个选项。我想我需要学习更多js – s84 2009-12-15 14:23:50

2

“更改”方法仅为“输入”,“textarea”和选择元素定义,不适用于一般元素。

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

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