当我按Enter键时如何触发事件?

时间:2012-06-22 20:38:28

标签: jquery

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

以上是我用于页面即时搜索的代码。如何添加事件监听器,以便在我按下Enter键时,只要我按下Enter键就会自动触发.click()函数,这样用户就不必手动点击#enter元素。此外,如果我点击输入它不会影响搜索字段的值。如果代码是在jQuery中,它会很有帮助。

3 个答案:

答案 0 :(得分:3)

您可以使用jquery上的按键事件来触发事件。

$('#enter').keypress(function (e){
    var code = (e.keyCode ? e.keyCode : e.which);
    if(code == 13) {
       var query = $('#search').val();
       $('body').removeHighlight().highlight(query);
    }
});

答案 1 :(得分:0)

我认为您的意思是输入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);  
    }
});

答案 2 :(得分:0)

就像我在评论中所说,你可以像这样使用keypress

$('#search').keypress(function(event) {
    if ( event.which == 13 ) {
        $('#enter').trigger('click');
    }
})