我生成了动态文本框,我想添加一个keyup事件,但是我这样做是为了使用jQuery单独执行,但它无法正常工作。在基于我的代码的DOM中
`$('#dynamicTextBox').html('');
for (var i = 0; i < ui.value; i++) {
var textbox = $('<input type="text" class="txt' + i + '" />')
$('#dynamicTextBox').append(textbox);
}
}`
当附加这些元素时,我得到txt0 txt1 txt2 txt3等等。我只是想简单地尝试触发onkeyup上的警报,但它没有被检测到。我试过了
$('input#txt0').on('keyup','.txt0', function() {
dTxt0 = ui.value;
changeValue();
value = $(".txt0").val();
alert(value);
});
答案 0 :(得分:0)
使用您当前的HTML,您可以使用以下内容。
$(function()
{
$(document).on("keyup", "input:text[class^='txt']", function(){
var val = this.value;
});
});
<强> JSFIDDLE 强>
如果您可以为这些元素使用公共类并在循环中生成唯一ID,那会更好。
您的HTML看起来像
<input type="text" id="txt0" class="inpboxes" />
<input type="text" id="txt1" class="inpboxes" />
<input type="text" id="txt2" class="inpboxes" />
并且jQuery将更改为
$(function()
{
$(document).on("keyup", "input:text.inpboxes", function(){
var val = this.value;
console.log(val);
});
});
<强> JSFIDDLE 强>