HTML表TD'更改'事件无法引发?

时间:2013-10-24 09:19:00

标签: javascript events

我想用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?
  });

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

  

更改事件在其值更改时发送到元素。此活动仅限于   <input>元素,<textarea>框和<select>元素。

     

来源: http://api.jquery.com/change/

如果您想对其他元素进行更改,只需致电.change()

即可
jQuery('#testTD').append('something').change();

答案 1 :(得分:0)

你在这里朝着错误的方向前进。更改事件不会触发DOM内容更改 - 它们会触发更改值或下拉列表,复选框和单选按钮的状态。

有一些非标准的(并且通常是浏览器不一致的)事件来检测所谓的内容变异,但正如我所说,它们是不可靠的。

而是考虑一种不同的方法。您可以使用自定义事件并在更改TD的内容时触发它,而不是尝试直接侦听内容更改。