2009-12-15 68 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)。但我不相信這些在瀏覽器中得到了廣泛的支持。