我想在我的网站上使用键盘功能键。那我怎样才能在我的网站上实现键盘功能快捷键。谢谢大家.......
答案 0 :(得分:2)
使用Javascript:
// event.type should be keypress
function getChar(event) {
if (event.which == null) { // IE
if (event.keyCode < 32) return null; // special character
return String.fromCharCode(event.keyCode)
}
if (event.which != 0 && event.charCode != 0) { // not IE
if (event.which < 32) return null; // special character
return String.fromCharCode(event.which); // other
}
return null; // special character
}
对于控制键,使用:event.shiftKey,event.ctrlKey,event.altKey或event.metaKey。
答案 1 :(得分:1)
好。如果你不懂jquery,我会建议你先学习javascript。 键盘上有非常关键的键码。您只需要检测按下哪个键的按键,并根据按下的键添加游戏功能。
<强> InGeneral 强> - &GT;
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.keyCode == "any of the above key") {
alert("some key pressed");
//your functionality goes here!!!
}
};
满足您的需求 - &gt;
$('#someelement').bind('click', function(event){
if(event.ctrlKey)
alert('ctrl pressed');
if(event.altKey)
alert('alt pressed');
if(event.shiftKey)
alert('shift pressed');
});
答案 2 :(得分:0)
如果您愿意使用jQuery,那么它可以更简单一些。
为了能够捕获复合键,您必须首先在控制键上查找keydown并存储状态。然后在常规键上查找keydown并根据存储状态进行检查。一旦有密钥,重置控制状态。
以下是如何执行此操作的示例:
// Bind keyup to document to trap shortcut keys for various operations
$(document).keyup(function (e) {
IsCtrl = false;
IsShift = false;
}).keydown(function (e) {
// first capture Ctrl
if (e.which == 17) { IsCtrl = true; }
// now capture Shift
if (e.which == 16) { IsShift = true; }
switch (e.which) {
// now capture S and if Ctrl is pressed
case 83:
if (IsCtrl) { alert("Ctrl S pressed"); }
if (IsShift) { alert("Shift S pressed"); }
e.preventDefault();
break;
// capture F1
case 112: alert("Heellllppp!"); e.preventDefault(); break;
// capture ESC
case 27: alert("Escape!"); e.preventDefault(); break;
}
});
“IsCtrl
”和“IsShift
”是全局范围内的变量。上面的代码专门检查控制键。如果要检查其他组合(包括),请更改检查控制键状态的部分。功能键从112(f1)开始。您可以参考@MESSIAH发布的图表来获取其他密钥代码。
希望有所帮助。