我需要在下面的TD上捕获更改事件。每当其内容发生变化时(在这种情况下"罗斯蒙特测量"),我需要调用一个函数。我不认为接受" onchange"属性......这就是问题所在。可以这样做吗?
<TD style="PADDING-LEFT: 6px; CURSOR: default" id="A0.R0.Indexed Pick 3" class="fv fvu" title="Rosemount Measurement" _savedBKClr>Rosemount Measurement</TD>
我将发布代码较大部分的打印屏幕,其中包含上述行(如果有帮助)。
答案 0 :(得分:0)
我建议使用自定义事件,例如contentchange
,并从src中触发,使内容发生变化。
订阅活动
$('table.yourClassName').on('contentchange', 'td', fn);
内容更改代码
$(refToTheTd).trigger('contentchange');
答案 1 :(得分:0)
TD没有更改事件,因为它没有值,它只保留一些文本。它为它创建自定义事件的唯一方法(您需要在更改内部文本后自己触发事件)
setTimeout(function() {
$('td').text(function() {
return this.innerHTML + '... success?';
}).trigger('custom:td:name_whatever.event');
}, 1000);
$('td').on('custom:td:name_whatever.event', function(){
alert(this.innerHTML);
});
&#13;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td>Test</td>
</tr>
</table>
&#13;
答案 2 :(得分:0)
我找到了一个可以满足我的要求的解决方案,但我还没有调整它(仍然试图弄明白):
//assume tbl has id foobar
document.getElementById('foobar').addEventListener('change',function(e)
{
e = e || window.event;
var target = e.target || e.srcElement;
var name = target.id || target.getAttribute('name');
alert('the ' + name + ' element changed!');
},false);
不幸的是,上面提供的两个解决方案不符合我的要求。