我的要求很简单:用户按下Ctrl键会在我的页面上显示一些通知,当发布时,通知就会消失,所以我需要跟踪修改键,例如Ctrl。不幸的是我谷歌并没有找到任何线索,一些着名的键盘库,如Mousetrap和keymaster
似乎也没有涵盖这个主题。
有什么想法吗?
答案 0 :(得分:8)
修饰键触发keydown
(但不是keypress
)。然后,您只需检查事件对象上定义的标志即可。 shiftKey
,altKey
,ctrlKey
,metaKey
等。
答案 1 :(得分:1)
试试这个 -
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();
答案 2 :(得分:0)
使用jQuery,您可以使用keydown和keyup事件处理程序,您将看到Ctrl键向下和向上。如果你想跟踪它是向下还是向上,那么只需在它下降时设置一个全局标志,并在它上升时清除标志。
示例代码:
$(document).keydown(function(e) {
if (e.which == 17) {
$("#result").append("ctrl key pressed<br>");
}
});
jQuery doc on e.which:http://api.jquery.com/event.which/