我想在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