Jquery keyup事件不适用于dynamicaly添加的id属性

时间:2015-11-10 06:16:10

标签: jquery keyup

keyup事件不适用于动态添加的id属性。我的代码,

HTML

<div id="more-package-div" class="more-package-area">
    <input type="text" name="package_weight[]" id="package_weight_0" placeholder="Package weight" class="package_weight">
</div>
<div id="extra-packages"></div>
<a href="#" id="add-more-package">Add more package</a>

JQUERY

var count = 1;
var i = 0;
$('#add-more-package').on('click', function(){
    $('#extra-packages').append($('#more-package-div').html());
    $('#package_weight_'+i).attr('id','package_weight_'+count);
    i+= 1;
    count += 1;
});

$('.package_weight').on('keyup', function(){
    alert(this.id);
});

在这种情况下,keyup事件仅适用于第一个文本框。如何触发&#39; keyup&#39;动态添加属性的事件?

这是我的JSFiddle

1 个答案:

答案 0 :(得分:1)

var count = 1;
var i = 0;
$('body').on('click','#add-more-package', function(){
    $('#extra-packages').append($('#more-package-div').html());
    $('#package_weight_'+i).attr('id','package_weight_'+count);
    i+= 1;
    count += 1;
});

$('body').on('keyup','.package_weight', function(){
    alert(this.id);
});

DEMO