我想在dom節點添加/刪除和屬性修改上添加一個監聽器,因爲我主要爲模塊動態生成dom元素。如何在刪除DOM節點,屬性修改時添加監聽器?
正如您在下面的圖片中看到的,webkit
表示這意味着這些聽衆存在。
如果有任何jQuery的功能,請告知。
謝謝。
我想在dom節點添加/刪除和屬性修改上添加一個監聽器,因爲我主要爲模塊動態生成dom元素。如何在刪除DOM節點,屬性修改時添加監聽器?
正如您在下面的圖片中看到的,webkit
表示這意味着這些聽衆存在。
如果有任何jQuery的功能,請告知。
謝謝。
實際上,你不能期望Javascript有任何webkit開發工具可以做的任何方法或監聽器。它的buildin調試器和控制檯可能超越。
然而,也有這樣的所謂突變事件可用,見MDN
一個典型的呼叫看起來像
document.getElementsById('foo').addEventListener('DOMAttrModified', function(e) {
}, false);
這將觸發從節點與任何屬性變化編號foo。謹慎的一句話,突變事件已棄用,將來可能無法在當前表單中使用。
對於屬性更改事件,您可以嘗試類似this。
$el.on('attribute:change', function() {...});
$el.attr('selected', 'selected').trigger('attribute:change');
對於添加/刪除事件,你可以不喜歡this:
(function() {
var ev = new $.Event('remove'),
orig = $.fn.remove;
$.fn.remove = function() {
$(this).trigger(ev);
return orig.apply(this, arguments);
}
})();
+1。值得一提的是,取代DOM突變事件的API是[MutationObserver](https://developer.mozilla.org/en-US/docs/DOM/MutationObserver)。新的API仍然覆蓋屬性更改。此外,IE <= 8不支持DOM突變事件。 – 2013-04-04 10:01:06