绑定不同目标的click和keyup来做同样的function

我有一个提交按钮,我使用$("#submit")来执行“myActionfunction”,但同时我也想要如果用户按下回车键,它会执行“myActionfunction”。

我不能这样做

 $("#submit").on('click keyup', function(){ //myAction function }); 

因为我必须将keyup事件附加到我的输入字段而不是#submit ..

为函数命名并在选择器上绑定两个事件。 然后添加一个特殊条件:

 function send(e){ if(e.type == 'click' || (e.type == 'keyup' && e.wich == 13)) } $('[type=text]').on('keyup', send); $('[type=submit]').on('click', send); 

将您的my action写为单独的函数,并按如下所示使用它

 function myAction() { console.log('act'); //do your stuff here } $("#submit").on('click', myAction); $("input.enter").on('keypress', function (e) { //enter key code is 13 if (e.which == 13) { myAction() } }); 

演示: 小提琴