我有这样的事情:
$('#find').click(function() {...
我还需要添加到该事件,如果他们按下回车键,它也将执行。
我正在思考以下几点:
var code = (e.keyCode ? e.keyCode : e.which);
if ( ($('#find').click()) || (code == 13)) {
但显然它不起作用。如何将两种方式合并为一种方式。按Enter键应仅在输入id =“code”时完成。 click事件用于另一个id =“find”的输入类型按钮。我想合并它们,如果用户在键入代码时按Enter键或单击按钮发送代码,则两种方式都以相同的方式工作。
答案 0 :(得分:4)
function myHandler(){
$(this).css('background-color', 'green'); //whatever you need to do here
}
$('#find').click(myHandler);
$('#find').keypress(function(){
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) myHandler();
);
或者可能使用keyup,您应该阅读以下文档:http://api.jquery.com/keyup/
答案 1 :(得分:1)
使用on()
:
$('#find').on('click keypress', function(e){
if (e.type == 'click' || e.which == '13') {
// do stuff
}
});
参考文献:
on()
。答案 2 :(得分:0)
对此的扩展是:
$('#find').on('click',function(event,params) {
// your click code here
}).on('keypress'),function(event) {
// if you have 13, then send the click evnet
// this way lets you do other things by passing the params
// object, if you wish
var code = (e.keyCode ? e.keyCode : e.which);
if(13 == code) {
$(this).trigger('click');
return false;
}
// other code that executes if code != 13
});