我使用以下jQuery:
$('table').bind("DOMSubtreeModified",function(){
myfunction();
});
该表的内容由另一个函数修改。但是,这会触发表中已更改的每个元素的上述内容。
在完成所有表格更改后,有没有办法只触发一次?
答案 0 :(得分:3)
使用.one()
为活动注册一次。在此代码段中,单击按钮向表中添加<td>
,从而仅触发DOMSubtreeModified事件一次。注意对表的任何进一步修改都不会触发任何内容。
$('button').click(function() {
$('table tr').append('<td>TEST</td>');
});
$('table').one("DOMSubtreeModified", function() {
alert('MODIFIED');
});
table,
td {
border: 1px solid black;
}
table {
width: 300px;
height: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td></td>
</tr>
</table>
<button>addTD</button>