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

时间:2013-10-09 02:59:29

标签: javascript jquery

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

我不能这样做

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

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

2 个答案:

答案 0 :(得分:4)

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

function send(e){
    if(e.type == 'click' || (e.type == 'keyup' && e.wich == 13))
}

$('[type=text]').on('keyup', send);
$('[type=submit]').on('click', send);

答案 1 :(得分:1)

将您的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()
    }
});

演示:Fiddle