如何结合按键和点击功能Javascript?



我有以下两个函数:

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

函数中使用的代码是完全相同的代码,基本上是代码重复。所以我想知道是否有办法将这些函数与 AND 语句相结合?堆栈上有一个问题,但它是 OR 逻辑。如果您需要此处的OR解决方案

编辑:我正在尝试制作类似探险家的东西。现在我想按住"shift"并单击"输入"以标记它们。所以我需要我的输入元素上的"onclick"是真的,我的键下是真的。

编辑后,我相信您正在寻找的内容如下。

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"是真的,我的键下是真的。

click事件中,您可以检查是否也按下了某个键(单击按下键(。

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

例:

$("input").click(function() {
console.log(event.shiftKey)
if (event.shiftKey) {
$(this).addClass("selected")
} else {
$(this).removeClass("selected")
}
// could use .toggleClass("selected", event.shiftKey) here,
// shown expanded for clarity
});
.selected {
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Shift-click input to select, click to unselect
<input type='text'>
<input type='text'>

最新更新