我想用javascript操纵TD中的内容,当TD内容改变时,我会做其他事情。但似乎改变事件永远不会被提升。 HTML:
<table><tr><td id='testTD'>Test</td></tr></table>
javascript:
jQuery().ready(function(){
jQuery('#testTD').on('change', function(e){alert('td changed');});
jQuery('#testTD').append('something'); //why this did not raise the 'change' event for td?
});
有什么想法吗?
答案 0 :(得分:1)
更改事件在其值更改时发送到元素。此活动仅限于
<input>
元素,<textarea>
框和<select>
元素。
如果您想对其他元素进行更改,只需致电.change()
jQuery('#testTD').append('something').change();
答案 1 :(得分:0)
你在这里朝着错误的方向前进。更改事件不会触发DOM内容更改 - 它们会触发更改值或下拉列表,复选框和单选按钮的状态。
有一些非标准的(并且通常是浏览器不一致的)事件来检测所谓的内容变异,但正如我所说,它们是不可靠的。
而是考虑一种不同的方法。您可以使用自定义事件并在更改TD的内容时触发它,而不是尝试直接侦听内容更改。