2013-08-19 137 views
0

我想監視UL元素以查看子元素中的更改,例如li添加或刪除等.UL用於在每個li將顯示的屏幕中顯示選項卡一個單獨的標籤。我沒有控制權來修改選項卡腳本,以便在更改選項卡時在我的腳本文件中調用我自己的函數。如何在Javascript中監視UL元素上的元素更改

我必須爲此支持IE瀏覽器,並且必須使用純JavaScript來執行此操作。

+0

對,所以你有什麼看着/試過嗎? – Utkanos

回答

1

我知道這是可能的唯一方法就是這樣。我不能說這是一個很好的方法來做到這一點。

var onchange = function(element, callback) { 
    var HTML = element.innerHTML; 
    window.setInterval(function() { 
     var newHTML = element.innerHTML; 
     if(HTML !== newHTML) { 
      HTML = newHTML; 
      callback(element); 
     } 
    }); 
} 

這將監控單元和檢查innerHTML如果它已經改變了它會調用回調函數。

演示:http://jsfiddle.net/qmB97/

用法:

onchange(HTMLElement, function() { 
    alert('change'); 
}); 
+0

謝謝,讓我試試UL元素。 – Nishanthan

+0

對於我所做的所有更改,onchange是否僅觸發一次? http://jsfiddle.net/qmB97/12/ – Nishanthan

+0

每當元素髮生更改時都會觸發,但在該示例中,所有更改都是在同一時間完成的。 – iConnor