动态绑定";按键;在javascript中 成功:函数(数据){ $.each(data.top[field]。术语,函数(索引,结果){ $(''+result.term+'['+result.count+']') .appendTo($('.input list wrapper',$tooltip)) .data('字段',字段) .data('value',result.term) .focus() .bind('keypress',函数(e){ console.log('test'); 如果(如keyCode===13){ $term.trigger('updateTerm',$(this.data('value')); } }) }); }
我无法动态绑定按键事件。如果我将.bind调用替换为.mouseenter或.mouseover,它将按预期工作。我尝试了.on.keypress.keyDown.live(.live给了我一个未定义的函数错误)。确保为浏览器定义了动态绑定";按键;在javascript中 成功:函数(数据){ $.each(data.top[field]。术语,函数(索引,结果){ $(''+result.term+'['+result.count+']') .appendTo($('.input list wrapper',$tooltip)) .data('字段',字段) .data('value',result.term) .focus() .bind('keypress',函数(e){ console.log('test'); 如果(如keyCode===13){ $term.trigger('updateTerm',$(this.data('value')); } }) }); },javascript,dynamic,bind,keypress,keycode,Javascript,Dynamic,Bind,Keypress,Keycode,我无法动态绑定按键事件。如果我将.bind调用替换为.mouseenter或.mouseover,它将按预期工作。我尝试了.on.keypress.keyDown.live(.live给了我一个未定义的函数错误)。确保为浏览器定义了keypress行为。根据jQuery文档:。另外,您正在将按键事件绑定到li元素?请记住,他们必须有焦点才能触发按键事件。我已经确保触发焦点,但似乎没有帮助。不知道如何使用keypress动态地工作。首先,如果您使用document.onkeypress的旧方法,那
keypress
行为。根据jQuery文档:。另外,您正在将按键事件绑定到li
元素?请记住,他们必须有焦点才能触发按键事件。我已经确保触发焦点,但似乎没有帮助。不知道如何使用keypress动态地工作。首先,如果您使用document.onkeypress的旧方法,那么它可以工作吗?我想知道这是JQuery问题还是真正的Javascript问题error@user3662516您是否尝试过jQuery.keyup(函数(e){…})
?
success: function(data) {
$.each(data.top[field].terms, function(index, result) {
$('<li>' + result.term + ' [' + result.count + ']</li>')
.appendTo($('.input-list-wrapper', $tooltip))
.data('field', field)
.data('value', result.term)
.focus()
.bind('keypress', function(e) {
console.log('test');
if (e.keyCode === 13) {
$term.trigger('updateTerm', $(this).data('value'));
}
})
});
}