我在输入字段中使用jquery ui自动完成功能。我使用select事件来触发某些操作,但如果用户使用enter选择某些内容,这也会触发keyup事件。
我想做什么:
$( '.my-input' ).autocomplete( {
source: availableTags,
select: function( event, ui ) {
console.log( 'here goes an action triggered by the selection of an autocomplete suggestion' );
}
});
$( '.my-input' ).keyup( function( e ) {
if ( e.keyCode == 13 ) {
console.log( 'here goes an action triggered by the enter key' );
}
});
使用此代码时,当我使用enter选择自动完成建议时,将触发由enter键触发的操作。我怎么能避免它?
答案 0 :(得分:0)
您可以在选择值上检查事件:
$( "#autocomplete" ).autocomplete({
source: availableTags,
select: function(event, ui){
var key = checkEvent(event);
if (key == 13)
alert('Enter key...');
else
alert('other key pressed.');
}
});
function checkEvent(e) {
if (window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
return key;
}