我有一个插件显示/隐藏表格中的列。
但是我也在表上使用了其他几个插件,因此该表非常动态。
我正在寻找一种方法来监控表格,无论什么时候发生。
例如
添加行,删除行,隐藏行...
是否有任何dom元素的常规.change()
事件?
答案 0 :(得分:4)
您可以绑定到DOM事件:
$(document).ready(function(){
$(document).bind('DOMNodeInserted', function(event){
console.log('inserted '+event.target.nodeName + ', parent: '+event.relatedNode.getAttribute('id'));
});
$(document).bind('DOMNodeRemoved', function(event){
console.log('removed');
});
$(document).bind('DOMSubtreeModified', function(event){
console.log('modified '+event.target.getAttribute('id'));
});
$('#tbl').append($('<tr></tr>').
attr('id', 'newrow'));
});
<强> Fiddle here 强>
当然,您的元素必须具有标识符才能使其有用。
答案 1 :(得分:2)
您可以使用livequery检测添加/删除行的时间:
$("tr").livequery(function() {
console.log($(this) + " was added");
}, function() {
console.log($(this) + " was removed");
});
答案 2 :(得分:2)
不幸的是,没有用于操纵DOM的跨浏览器更改事件。你有几个选择: