2017-03-08 1 views
0

入力フィールドで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'); 
    } 
}); 

このコードを使用して、アクションは私が入る使用してオートコンプリートの候補を選択したときにトリガされている入力キーによってトリガーされることになって。どうすればそれを避けることができますか?

答えて

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; 
} 
+0

おかげで、実際に私は反対のことを必要とする:それがあった場合keyUpイベントの中身をチェック、簡単な入力で押された入力またはを押すと入力します何かを選択する。 – fksr86

関連する問題