我有一个要开发的模块,其中有一个父表,每一行都有一个子表,这两个子表都是通过使用 jQuery 的 Ajax 调用使用 JSON 数组动态生成的。
现在,每次将类为“childtable”的子表插入显示子表 ID 的父表行时,我都需要触发警报。
我尝试使用 jQuery DOMNodeInserted 事件实现此目的,它在 IE 中对我来说非常适用,但在 Chrome 中不起作用。
我使用的是 Google Chrome 版本 56.0.2924.87。这段代码如下所示。
$('body').on('DOMNodeInserted', 'table.childtable', function(e) {
if ( ! $.fn.DataTable.isDataTable('#'+$(this).attr('id'))) {
var tab='#'+$(this).attr('id');
alert(tab); //fire id as alert
$('#'+$(this).attr('id')).DataTable({
"bSort" : false,
"scrollCollapse": true,
"searching": false,
"bInfo" : false,
"paging": false,
"columnDefs": [{
"targets": [ 0 ],
"visible": false
}]
});
$( tab).find( "thead tr th" ).each( function( index1 ) {
index1 += 1;
$(tab).find("tbody tr td:nth-child(" + index1 + ")").attr("data-title", $(this).text());
});
}
});
最佳答案
经过长时间的搜索,我终于找到了问题的答案。感谢 Uzair Farooq。
上面的事情可以使用在 Mutation observers 上工作的 arrive.js 来实现。
点击此处下载文件。
arrive.js
代码:
$('body').arrive('table.childtable', function(){
alert('#'+$(this).attr('id'));
});
现在我担心的是我不能在旧浏览器中使用此代码。旧浏览器不支持 Bcoz 突变观察器。
那么我们如何使用 jquery 找出浏览器是否支持已弃用的突变事件?
关于javascript - Jquery DOMNodeInserted 在 Chrome 中不起作用,但在 IE 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46067371/