如何在JavaScript中结合按键和点击function?

我有以下两个function:

$("input").keypress(function(event) { if (event.which == 13) { //code } }); $('#login_submit').click(function () { //code }); 

在函数中使用的代码完全是相同的代码,基本上是代码发布。 所以我想知道是否有办法将这些函数与OR语句结合起来?

创建自己的回调并将其传递给事件处理程序。

 var callback = function() {...}; $("input").keypress(function() { if (event.which == 13) callback(); }); $('#login_submit').click(callback); 

在HTML中添加一个类

  

现在你可以写:

 $(".myClass").bind("keypress click", function(){}); 

或者这样做:

 $("input").add("#login_submit").bind("keypress click", function(){}); 

请注意,单击输入也会触发此操作。

你为什么不这样做?

 $("input").keypress(function(event) { if (event.which == 13) { foospace.yourfunction(); } }); $('#login_submit').click(function () { foospace.yourfunction(); }); var foospace={}; foospace.yourfunction=function() { alert("your code goes here!"); } 

编辑:

@David的回调解决方案稍微优雅一些​​。

我会链接事件,如:

  var watchCurrentCursorPosition = function (){ console.log("foo"); } $("input").keypress( watchCurrentCursorPosition ).click( watchCurrentCursorPosition );