获取在 javascript 中双击时按下的键
Get the key that was down while a double click was made in javascript
我想知道在元素上触发双击事件时按下(按住并按下)哪个键。
事件处理程序允许我获取 alt、shift、meta 和 ctrl 键。如果我想检测 'x' 是否在双击时被关闭了怎么办...或者与此相关的任何其他字母或数字。
一种可能是这样做,88 = 字母 x.. 但是.. 有没有更好的方法。
$(document).on('keydown','body',function(e) {
//console.log(e.keyCode);
if(e.keyCode==88)
keyed = true;
});
$(document).on('keyup','body',function(e) {
if(e.keyCode==88)
keyed = false;
});
$(document).on('dblclick','body',function(e) {
if(keyed==true)
alert('yes');
keyed=false;
});
如果您想检测 ctrl、alt 或 shift 键,它们会在传递给您的事件对象上公开。
$(document).on('dblclick', function(e){
/*
* here you could use e.altKey, e.ctrlKey and e.shiftKey - all of them
* are bools indicating if the key was pressed during the event.
*/
});
如果你想检测不同的密钥,那么 omar-ali 的答案似乎是正确的做法。
您必须在 keyup 事件之前存储键码,并在双击事件时引用当前值。
var heldKey;
$(document).on({
'keydown' : function(e) {
heldKey = e.which || e.keyCode;
},
'keyup': function(e) {
heldKey = undefined;
},
'dblclick': function(e){
console.log(String.fromCharCode(heldKey));
}
});
我想知道在元素上触发双击事件时按下(按住并按下)哪个键。
事件处理程序允许我获取 alt、shift、meta 和 ctrl 键。如果我想检测 'x' 是否在双击时被关闭了怎么办...或者与此相关的任何其他字母或数字。
一种可能是这样做,88 = 字母 x.. 但是.. 有没有更好的方法。
$(document).on('keydown','body',function(e) {
//console.log(e.keyCode);
if(e.keyCode==88)
keyed = true;
});
$(document).on('keyup','body',function(e) {
if(e.keyCode==88)
keyed = false;
});
$(document).on('dblclick','body',function(e) {
if(keyed==true)
alert('yes');
keyed=false;
});
如果您想检测 ctrl、alt 或 shift 键,它们会在传递给您的事件对象上公开。
$(document).on('dblclick', function(e){
/*
* here you could use e.altKey, e.ctrlKey and e.shiftKey - all of them
* are bools indicating if the key was pressed during the event.
*/
});
如果你想检测不同的密钥,那么 omar-ali 的答案似乎是正确的做法。
您必须在 keyup 事件之前存储键码,并在双击事件时引用当前值。
var heldKey;
$(document).on({
'keydown' : function(e) {
heldKey = e.which || e.keyCode;
},
'keyup': function(e) {
heldKey = undefined;
},
'dblclick': function(e){
console.log(String.fromCharCode(heldKey));
}
});