0

検索/選択などのオートコンプリート イベントは、'Home'、'End'、'Shift' などのキーボード キーに対して発生します。

私はこれらがデモサイトの例で起動していないのを見ました例: http://jqueryui.com/demos/autocomplete/remote.html

特定のキーボード イベントの検索/選択イベントをブロックする方法を教えてください。

これはデフォルトの動作だと思いますが、私の場合は機能しません。

4

3 に答える 3

0

これを試すことができます。

$( "#selectorid" ).autocomplete({
    search: function(event, ui) {
        $.lastText = $('#selectorid').val();
    }
});


$('#selectorid').keypress(function (e) {
if ($(this).val() == $.lastText) return;
});
于 2012-05-22T12:26:05.763 に答える
0

最後のテキストを変数に保存し、イベントを発生させるときに、テキストが変更されているかどうかを確認できます。

$( ".selector" ).autocomplete({
    search: function(event, ui) {
        if($('.selector').val() === lastText) {
            return false;
        }
        // do what do you want

        lastText = $('.selector').val();
    }
});
于 2012-05-22T11:55:55.983 に答える
0

イベントが発生する理由がわかりませんが、デモでは発生しません。jquery UI のバージョンを確認してください。

特定のキーに対してこれらのイベントをブロックするには、false を返すだけです。

$( ".selector" ).autocomplete({
   search: function(event, ui) { 
     if(event.keyCode === 36) {
       // HOME key pressed
       return false;
     }
   }
});

詳しくはこちらの「イベント」タブをご覧ください

于 2012-05-22T11:49:55.937 に答える