单击Ctrl或Shift时禁用快捷键 [英] Disable Shortkeys when Ctrl or Shift clicked
本文介绍了单击Ctrl或Shift时禁用快捷键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当某些键( Ctrl / Shift )被单击时,我试图禁用所有快捷键.
这是我的快速摘录:
$(document).keyup(function(b) {
if (b.keyCode == 16) {return false;}
if (b.keyCode == 17) {return false;}
$("body").append(b.keyCode + " ");
});
无论何时单击 Shift 或 单击 ,密钥代码都不是已打印,但如果单击 Shift + 任何字母 ,则会打印字母的键代码.>
示例: http://jsfiddle.net/javascript/K4sCx/7/
解决方案
您可以确定事件对象中是否按下了特殊键".
检测事件对象中的专用键:
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}
代码示例:
$(document).keyup(function(evtobj) {
if (!(evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)){
if (evtobj.keyCode == 16) {return false;}
if (evtobj.keyCode == 17) {return false;}
$("body").append(evtobj.keyCode + " ");
}
});
I am trying to disable all shortkeys when certain keys (Ctrl/Shift) are clicked.
This is my quick snippet:
$(document).keyup(function(b) {
if (b.keyCode == 16) {return false;}
if (b.keyCode == 17) {return false;}
$("body").append(b.keyCode + " ");
});
When ever you click Shift or Click, the keyCode number is not printed but if you click Shift + Any Letter, the keyCode of the letter is printed.
Example: http://jsfiddle.net/javascript/K4sCx/7/
解决方案
You can determine if a "special keys" was pressed in your event Object.
Detecting specizal keys in your event object:
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}
Code sample:
$(document).keyup(function(evtobj) {
if (!(evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)){
if (evtobj.keyCode == 16) {return false;}
if (evtobj.keyCode == 17) {return false;}
$("body").append(evtobj.keyCode + " ");
}
});
这篇关于单击Ctrl或Shift时禁用快捷键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文