如何组合按键和onclick函数Javascript?

如何组合按键和onclick函数Javascript?,javascript,jquery,Javascript,Jquery,我有以下两项职能: $("input").keypress(function(event) { if (event.which == 13) { //code } }); $('#login_submit').click(function () { //code }); 函数中使用的代码完全相同,基本上是代码重复。所以我想知道是否有一种方法可以将这些函数与AND语句

我有以下两项职能:

$("input").keypress(function(event) {
    if (event.which == 13) {
       //code        
    }       
});
$('#login_submit').click(function () {        
       //code                    
});
函数中使用的代码完全相同,基本上是代码重复。所以我想知道是否有一种方法可以将这些函数与AND语句结合起来??堆栈上有一个问题,但它需要一个OR逻辑。如果你想要一个或多个解决方案


编辑:我正试着做一些像探险家一样的东西。现在,我想按住“shift”键并单击“input”来标记它们。因此,我需要输入元素上的“onclick”为true,我的keydown为true。

编辑后,我相信您要查找的内容如下所示

var shift_hold = false;
$(document).keydown(function(e) {
    if(e.which === 16) {
        shift_hold = true;
    }
})

$(document).keyup(function(e) {
    if(e.which === 16) {
        shift_hold = false();
    }
})

$('input').click(function() {
    if(shift_hold) {
        //your code here
    }
})
我想按住“shift”键,然后单击一个“输入”来标记它们。所以我需要输入元素上的“onclick”为true,而keydown为true

单击
事件中,您可以检查某个键是否也被按下(单击后键被按下)

您可以使用查看按下了哪些键。shift/control/alt有自己的显式属性

例如:

$(“输入”)。单击(函数(){
console.log(event.shiftKey)
if(事件移位键){
$(此).addClass(“选定”)
}否则{
$(此).removeClass(“选定”)
}
//可以在此处使用.toggleClass(“selected”,event.shiftKey),
//为清晰起见,图中显示了展开图
});
。已选定{
边框:1px纯红;
}

按住Shift键并单击“输入”以选择,单击以取消选择

只需将大部分代码放在一个函数中并调用该函数-将处理程序分开将使其更易于阅读。您是说您希望两个事件同时发生吗?问题中的链接是最好的答案您甚至认为“与and结合”是什么意思。。。?是否希望仅当用户按下enter键并同时单击submit按钮时才执行处理程序函数…?(如果你问我的话,这听起来是一个很好的增强UI的方法。)如果不是这样的话,只是想让同一个函数处理两个事件,彼此独立发生-那么你在问什么,这已经在另一个问题中得到了回答…?感谢你的澄清(编辑到问题)。可以使用事件对象()查看按下了哪些键。使用
keypress
无法执行此操作,但可以使用
keypdown
/
keypup
:看起来这就是您要做的:这不会检查按键密码。此问题完全回答了标题指定的问题。我看不出投反对票的理由。OP已经清楚地展示了关于目标和关键事件的知识,这是OP完成问题所要求的任务所需的全部。如果没有其他信息,OP想要什么并不清楚,因为他们已经在问题本身中提供了指向“有效”答案(即与此答案相同!)的链接。这不是我要求的。但无论如何,谢谢:)@erdnus在你澄清之后,我编辑了我的答案