有一個表以這種方式動態添加行:
var hTML= '<tr> \
<td ><input id="tblJENazwa-' i '" type="text" style="background-color: #f0f0f0;" disabled></input></td> \
<td ><input id="tblJEKalorie-' i '" type="text" style="background-color: #f0f0f0;" disabled></input></td> \
<td ><input id="tblJEWaga-' i '" type="number" min="0"></input></td> \
</tr>'
$('#tblJadlospisEdycjaT1 tbody').append(hTML);
我需要資料的輸入是#tblJEWaga-'i',其中'i'在0到100 之間,并且具有類.JEWedit我想使用這個類并為KeyUp事件創建一個偶數處理程式。我嘗試通過以下方式執行此操作:
$('.JEWedit').keyup(function(){
clearTimeout(typingTimer);
console.log("attr ID=",$(this).attr('id'));
if ($('.JEWedit').val()) {
typingTimer = setTimeout(doneTypingT, doneTypingInterval);
}
});
...但是...這根本不起作用。
您能否就如何在 KeyUp 事件處理程式上創建以跟蹤 #tblJEWaga-'i' 更改提出建議?
uj5u.com熱心網友回復:
這就是事件委托派上用場的地方。由于頁面加載時有未知(0 個或更多).JEWedit元素可用,因此將事件定義為$('.JEWedit').keyup()不適用于事后添加的任何元素。只需將您的事件定義為:
$('body').on('keyup', '.JEWedit', function () {
clearTimeout(typingTimer);
console.log("attr ID=", $(this).attr('id'));
if ($('.JEWedit').val()) {
typingTimer = setTimeout(doneTypingT, doneTypingInterval);
}
}
現在,只要將它附加到元素中的任何位置,此keyup事件將可供 any 使用。.JEWedit<body>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510237.html
