2010-09-20 69 views

回答

0

您可以擴展jQuery的addClass()以在添加類時觸發事件。但是,這意味着您必須始終使用此方法添加類。

如果你不這樣做,你將不得不輪詢並尋找class屬性的差異。我不建議這樣做。除了表現,你還需要處理被刪除的類。

0

有一個DOM Level 3規範來檢測對元素屬性的更改,它在幾個瀏覽器中都受支持......而且IE也支持onpropertychange(http://msdn.microsoft.com/en-us/library/ms536956(VS.85).aspx)事件。

雖然這可能還不夠。你最好的選擇是使用window.setInterval()並檢查值是否已經改變。

4

如果您無法訪問添加類的代碼,那麼會有一個名爲livequery的jQuery插件,它允許您在元素添加到DOM時運行代碼(或者當您執行諸如向類添加類一個元素)。

http://brandonaaron.net/code/livequery/docs

$('div.myClass').livequery(function() { 
    alert('myClass was added'); 
}); 

$('#someDiv').addClass("myClass"); // The livequery code will run 

這與jQuery方法特別有效。