我有一个输入字段,包含名为"form_inputext1“的类。
我在按ENTER时执行了一些操作,使用了以下代码:
jQuery(".form_inputext1").keypress(function(event) {
console.log(event.keyCode);
if (event.keyCode == '13' || event.which == '13') {
event.preventDefault();
jQuery("#addMoreOptions").click();
return false;
}
});这部分运行得很好。它所做的一件事是作为ajax调用的结果,它添加了一个"form_inputext1“类的输入字段。
问题是这个新添加的字段与我编写的按键事件没有关联。我认为这是因为jQuery代码只将事件附加到现有字段,而不是将来添加的字段。
我该如何解决这个问题呢?我希望这个函数应用于onkeypress,即使输入还不在DOM中。
发布于 2011-09-01 22:40:14
YOu可以使用Jquery的
jQuery(".form_inputext1").live('keypress', function(event) {
console.log(event.keyCode);
if (event.keyCode == '13' || event.which == '13') {
event.preventDefault();
jQuery("#addMoreOptions").click();
return false;
}
});或者,您可以在创建元素时添加按键事件,这将为您提供更好的性能:
$('.clicker').click(function() {
$('<div class="clicker" />').text('new').appendTo($(this)).keypress(function(event) {
alert(event.which);
})
})发布于 2011-09-01 22:39:38
使用.live():
$('.form_inputext1').live('keypress', function ( event ) {
});发布于 2011-09-01 22:40:23
请改用.live()或.delegate()。
http://api.jquery.com/live/
http://api.jquery.com/delegate/
https://stackoverflow.com/questions/7271905
复制相似问题