jsfiddle example link
似乎jQuery $.hide()
和$.show()
不会修改DOM来隐藏/显示元素,因此不会触发DOMSubtreeModified
事件。如何在DOM的任何元素上捕获此类事件?
谢谢。
更新:
该代码在Chrome16 Ubuntu上不起作用。最初,我需要针对基于Webkit的QT浏览器。
最佳答案
您是正确的,DOMSubtreeModified
仅用于修改,因此您有几种选择:
1)使用DOMAttrModified
,它的支持程度甚至不及DOMSubtreeModified
2)在jQuery中覆盖.hide()
和.show()
方法,以便您可以捕获对它们的任何调用并做出响应:
var oldShow = $.fn.show;
$.fn.show = function(args) {
alert('showing!');
oldShow.apply(this, arguments);
};
// do the same for .hide()
3)循环运行某种“监视器”(例如
setInterval()
),查看可见的子计数或有影响的东西4)重新组织您思考问题的方式...
希望这对您有帮助-ck
关于javascript - DOMSubtreeModified不会在$ .hide()和$ .show()上触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9488157/