2
    $('#enter').click(function (){
        var query = $('#search').val();
        $('body').removeHighlight().highlight(query);
    });

上記は、ページ上のインスタント検索に使用するコードです。Enter キーを押すと、Enter キーを押すとすぐに .click() 関数が自動的にトリガーされるようにイベント リスナーを追加して、ユーザーが #enter 要素を手動でクリックする必要がないようにするにはどうすればよいですか。また、Enter キーを押しても、検索フィールドの値には影響しません。コードが jQuery にあると便利です。

4

3 に答える 3

3

jquery で keypress イベントを使用して、イベントをトリガーできます。

$('#enter').keypress(function (e){
    var code = (e.keyCode ? e.keyCode : e.which);
    if(code == 13) {
       var query = $('#search').val();
       $('body').removeHighlight().highlight(query);
    }
});
于 2012-06-22T20:41:11.643 に答える
0

Enterテキストボックスからのプレスを意味していたと思いますsearch。以下を試して、これがあなたが望むものかどうか教えてください。

$('#search').keydown(function (e) {       
   if (e.which == 13) {
      e.preventDefault();
      $('#enter').click();
   }
});

以下のようにクエリ関数を変更してみてください。

$('#enter').click(function (){
    var query = $('#search').val();
    if ($.trim(query) != '')  {
      $('body').removeHighlight().highlight(query);  
    }
});
于 2012-06-22T20:41:16.453 に答える
0

コメントで言ったように、このようにキープレスを使用できます

$('#search').keypress(function(event) {
    if ( event.which == 13 ) {
        $('#enter').trigger('click');
    }
})
于 2012-06-22T20:43:28.137 に答える