検索/選択などのオートコンプリート イベントは、'Home'、'End'、'Shift' などのキーボード キーに対して発生します。
私はこれらがデモサイトの例で起動していないのを見ました例: http://jqueryui.com/demos/autocomplete/remote.html
特定のキーボード イベントの検索/選択イベントをブロックする方法を教えてください。
これはデフォルトの動作だと思いますが、私の場合は機能しません。
検索/選択などのオートコンプリート イベントは、'Home'、'End'、'Shift' などのキーボード キーに対して発生します。
私はこれらがデモサイトの例で起動していないのを見ました例: http://jqueryui.com/demos/autocomplete/remote.html
特定のキーボード イベントの検索/選択イベントをブロックする方法を教えてください。
これはデフォルトの動作だと思いますが、私の場合は機能しません。
これを試すことができます。
$( "#selectorid" ).autocomplete({
search: function(event, ui) {
$.lastText = $('#selectorid').val();
}
});
$('#selectorid').keypress(function (e) {
if ($(this).val() == $.lastText) return;
});
最後のテキストを変数に保存し、イベントを発生させるときに、テキストが変更されているかどうかを確認できます。
$( ".selector" ).autocomplete({
search: function(event, ui) {
if($('.selector').val() === lastText) {
return false;
}
// do what do you want
lastText = $('.selector').val();
}
});
イベントが発生する理由がわかりませんが、デモでは発生しません。jquery UI のバージョンを確認してください。
特定のキーに対してこれらのイベントをブロックするには、false を返すだけです。
$( ".selector" ).autocomplete({
search: function(event, ui) {
if(event.keyCode === 36) {
// HOME key pressed
return false;
}
}
});
詳しくはこちらの「イベント」タブをご覧ください