[英]How to capture onchange event for a <td>
我需要在下面的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>
我將在代碼的較大部分上打印屏幕,其中包括上述行(以防萬一)。
我建議使用自定義事件,例如contentchange
,並從進行內容更改的src觸發它。
訂閱活動
$('table.yourClassName').on('contentchange', 'td', fn);
在內容更改代碼處
$(refToTheTd).trigger('contentchange');
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); });
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table> <tr> <td>Test</td> </tr> </table>
我找到了可以滿足我的要求的解決方案,但我尚未對其進行調整(仍在嘗試找出答案):
//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);
不幸的是,以上提供的兩個解決方案無法滿足我的要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.