簡體   English   中英

如何捕獲一個onchange事件<td>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM