我有以下两个功能:
$("input").keypress(function(event) {
if (event.which == 13) {
//code
}
});
$('#login_submit').click(function () {
//code
});
函数中使用的代码完全是相同的代码,基本上是代码重复。所以我想知道是否有办法将这些函数与AND语句结合起来? Stack上有一个问题但它需要一个OR逻辑。如果您想要OR解here
编辑:我正在尝试做一个像探险家的事情。现在我想按住“shift”并点击“输入”来标记它们。所以我需要输入元素上的“onclick”为真,我的keydown才是真的。答案 0 :(得分:3)
编辑完成后,我相信您所寻找的内容如下所示。
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
}
})
答案 1 :(得分:1)
我想按住“shift”并点击“输入”来标记它们。所以我需要输入元素上的“onclick”为真,我的keydown才是真的。
在click
事件中,您可以检查是否还按下了某个键(单击并键 - 向下)。
您可以使用event object查看按下了哪些键。 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'>