拉風(fēng)的咖菲貓
2019-05-30 16:12:29
由動態(tài)生成的元素觸發(fā)的事件不會被事件處理程序捕獲。我有一個<div>帶著id="modal"使用jQuery動態(tài)生成load()方法:$('#modal').load('handlers/word.edit.php');word.edit.php包含幾個輸入元素,這些元素被加載到一個模態(tài)中。<div>.使用jQuery的keyup方法可以在事件觸發(fā)后捕獲輸入值,但當(dāng)元素動態(tài)添加到模式div時,當(dāng)用戶輸入其文本時,事件不再觸發(fā)。哪種jQuery方法支持處理由動態(tài)創(chuàng)建的元素觸發(fā)的事件?創(chuàng)建新輸入元素的代碼是:$('#add').click(function() {
$('<input id="'+i+'" type="text" name="translations' + i + '" />')
.appendTo('#modal');捕獲用戶值的代碼是:$('input').keyup(function() {
handler = $(this).val();
name = $(this).attr('name');第二個代碼塊似乎適用于原始元素,但它不是由新動態(tài)生成的元素觸發(fā)的。
4 回答

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個贊
.on
.delegate
// If version 1.7 or above$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name');});
// If version 1.6 or below// note the selector and event are in a different order than above$('#modal').delegate('input', 'keyup', function(){ handler = $(this).val(); name = $(this).attr('name');});

開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊
$("<parentSelector>").on("keyup", "input", function() { handler = $(this).val(); name = $(this).attr('name');})

慕尼黑5688855
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個贊
$ ("p"). live ("click", function () { // Your function});
添加回答
舉報(bào)
0/150
提交
取消