如何在一个函数中创建两个动作(按键和单击)

时间:2013-11-25 01:39:28

标签: jquery

我有一个函数,点击一个按钮,jquery中的函数将运行。我还想添加另一个动作,即“回车”键。这是我的代码

<input type=text id=search> <button id=searchbtn>Search</button>

我的jquery仅用于按钮。我怎么能添加回车键?在输入文字上?

$(' #searchbtn ').click(function(){
some action
}

onkeypress事件?怎么样?点击并按下一个功能?

编辑:我已尝试过以下内容,但似乎不起作用:

$(document).ready(function(){ 
  ///search this table 
  $(' #search ').click(function(){ 
    Search(); 
  });

  $( '#emp_search ').keypress(function(e){ 
    if(e.which == 13) { 
      Search(); 
    } 
  }

  function Search(){ alert('test');
}

4 个答案:

答案 0 :(得分:1)

而不是要求“一个函数”,而是使用两个处理程序调用相同的函数:

$(' #searchbtn ').click(function(){
   someAction();
}

$(' #searchbtn ').keypress(function(){
   someAction();
}

编辑:您的代码段至少有两个问题

  • Function更改为function
  • 之前定义Search函数 你的处理程序

答案 1 :(得分:1)

用于文本框,而不是按钮,

$(#searchtext).keypress(function(e) {
    if(e.which == 13) {
       //search
       Search();
    }
});

$(' #searchbtn ').click(function(){
    Search();
}
Function Search()
{
//do anything you want
}

答案 2 :(得分:0)

为共享代码创建一个函数。您可以将该函数直接传递给click()处理程序(无需将其包装在另一个函数中),对于keypress事件处理程序,将其包装在将检查密钥代码的函数中,并有条件地调用共享函数

function sharedFunction() {
    /* Some common action */
}

// Your current handler
$('#searchbtn').click(sharedFunction);

// The new handler to catch the 'enter' key.
$('#searchtext').keypress(function(event) {
    if(event.keyCode == 13){
        sharedFunction();
    }
});

答案 3 :(得分:0)

您可以使用.on将函数绑定到多个事件。

$(' #searchbtn ').on('click keypress', function() {
// some action
});