如何使用javascript/jquery跟踪修改器键?
我的要求很简单:用户按Ctrl键,我的页面上会出现一些通知,当发布通知时这些通知就会消失,所以我需要跟踪修改键,比如Ctrl键。不幸的是,我在谷歌上搜索并没有找到任何线索,一些著名的键盘库,如和如何使用javascript/jquery跟踪修改器键?,javascript,jquery,keyboard-shortcuts,Javascript,Jquery,Keyboard Shortcuts,我的要求很简单:用户按Ctrl键,我的页面上会出现一些通知,当发布通知时这些通知就会消失,所以我需要跟踪修改键,比如Ctrl键。不幸的是,我在谷歌上搜索并没有找到任何线索,一些著名的键盘库,如和keymaster似乎也没有涉及到这个主题 有什么想法吗?使用jQuery,您只需使用keydown和keydup事件处理程序,就可以看到Ctrl键上下移动。如果你想跟踪它是下降还是上升,那么只需在它下降时设置一个全局标志,上升时清除该标志 示例代码: $(document).keydown(functi
keymaster
似乎也没有涉及到这个主题
有什么想法吗?使用jQuery,您只需使用keydown和keydup事件处理程序,就可以看到Ctrl键上下移动。如果你想跟踪它是下降还是上升,那么只需在它下降时设置一个全局标志,上升时清除该标志 示例代码:
$(document).keydown(function(e) {
if (e.which == 17) {
$("#result").append("ctrl key pressed<br>");
}
});
$(文档).keydown(函数(e){
如果(e.which==17){
$(“#结果”)。追加(“按ctrl键
”;
}
});
e.com上的JQuery文档,其中:
工作演示:修改键触发
向下键
(但不是按键
)。然后,您可以简单地检查事件对象上定义的标志<代码>移位键,备用键
,快捷键
,元键
,等等
这里有一个完整的列表:试试这个-
var ctrlKey = false;
window.onkeydown = function(e) {
if(e.keyCode == 17) {
ctrlKey = true;
}
};
window.onkeyup = function(e) {
if(e.keyCode == 17) {
ctrlKey = false;
}
};
function notify() {
if(ctrlKey) {
$('#notification').show();
} else {
$('#notification').hide();
}
}
function main() {
var _inter = setInterval(notify, 100);
}
main();
为什么要用定时器?为什么不在按键按下/按下时隐藏/按下通知呢。您有一个更改状态的事件。你不需要调查各州。我只想指出,捕鼠器确实涵盖了修饰符的使用。我不确定这篇文章发表时他们是否报道过,但现在它已经出现在他们的头版了。执行如下操作:Mousetrap.bind('command+shift+k',function(e){/*dothings*/};