我无法弄清楚为什么以下代码不起作用。 JSFIDDLE LINK
$(document).ready(function () {
addInput();
});
var limit = 30;
function addInput() {
var numberOfRows = $("#shipping tr").size();
var id = numberOfRows;
if (numberOfRows == limit) {
alert("You have reached the limit of adding " + limit + " inputs");
} else {
$('#shipping').append('<tr id="rate' + id + '"></tr>');
$('tr#rate' + id).append('<td></td>');
$('tr#rate' + id).append('<td><input type="text" name="rate" /></td>');
}
$('input[name=rate]').on('keyup', 'input', function () {
alert('YAY');
return false;
});
}
我正在尝试将keyup函数分配给我动态添加的输入。
预期输出:YAY!在弹出框内
请帮忙!
答案 0 :(得分:7)
将一个keyup事件处理程序附加到发货表,该事件将从input[name="rate"]
冒出来到发货表:
$('#shipping').on('keyup', 'input[name="rate"]', function () {
alert('YAY');
return false;
});
<强> DEMO 强>
答案 1 :(得分:3)
您需要将委派添加到document
,因为它已添加到document
。
示例强>
$(document).on('keyup', 'input[name="rate"]', function () {
alert('YAY ');
});
Working Demo
强>