DOM 更改时触发事件

Kar*_*ric 3 javascript jquery events bind

我正在使用以下 jQuery:

$('table').bind("DOMSubtreeModified",function(){
   myfunction();
});
Run Code Online (Sandbox Code Playgroud)

表的内容被另一个函数修改。但是,这会针对表中更改的每个元素触发上述操作。

有没有办法在所有表更改完成后只触发一次?

zer*_*0ne 6

用于.one()注册一次活动。在此代码段中,单击按钮添加到<td>表,从而仅触发一次 DOMSubtreeModified 事件。请注意,对表的任何进一步修改都不会触发任何内容。

片段

$('button').click(function() {
  $('table tr').append('<td>TEST</td>');
});


$('table').one("DOMSubtreeModified", function() {
  alert('MODIFIED');
});
Run Code Online (Sandbox Code Playgroud)
table,
td {
  border: 1px solid black;
}
table {
  width: 300px;
  height: 50px;
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)