正如你在http://jsfiddle.net/hn838/4/中看到的那样'click'对于autofiller工作正常,但我想在输入key keypress上触发相同的代码,但它对我不起作用。我的代码在这里。 点击:
$('.ui-autocomplete').on('click', '.ui-menu-item', function(){
$('.college').trigger('click');
});
Keyprss:
$('.ui-autocomplete').on('keypress', '.ui-menu-item', function(e){
if (e.which == 13) {
e.preventDefault();
$('.college').trigger('click');
}
});
我希望$('.college').trigger('click');
执行click
并输入keypress
。点击工作正常,但按键不工作。任何线索?
答案 0 :(得分:6)
您可以向select事件添加一个函数,而不是绑定到关键事件:
select: function(){
$('.college').trigger('click');
}
这样它只会在用户实际选择自动完成值时触发。
答案 1 :(得分:2)
你的小提琴里面没有课ui-autocomplete
。所以我认为它看起来像这样:
<input type = 'text' class = 'search ui-autocomplete' />
并且你的小提琴中也没有课ui-menu-item
,所以你应该这样做:
$('.ui-autocomplete').on('keypress', function(e){
if (e.which == 13) {
e.preventDefault();
$('.college').trigger('click');
}
});
<强> Updated Fiddle 强>
如果你想使用从jQuery UI自动生成的类,你可以这样做:
$('.ui-autocomplete-input').on('keypress', function(e){
if (e.which == 13) {
e.preventDefault();
$('.college').trigger('click');
}
});
<强> Fiddle 强>