如何区分使用鼠标右键单击和物理键盘上的上下文菜单键?
使用此代码,我尝试在控制台中打印事件。
$('#'+inputId).bind('contextmenu', function(e) {
console.log(e);
});我抓取了上面代码的输出-
使用鼠标右键单击的是-
用于上下文菜单键按下键盘上的是-
我只想在物理键盘上按下“上下文菜单键”时执行一些操作。我怎样才能做到这一点?
发布于 2012-07-12 10:23:46
你好,这将帮助您捕捉不同之处:Working Demo http://jsfiddle.net/pPnME/1/
我已经在Alienware - Chrome上测试过这一点,当你右击时,你会在键盘上看到右击警告--其他明智的--你会看到键盘警告。
请注意:您可以根据which属性:http://api.jquery.com/event.which/识别单击
对于键或鼠标事件,此属性指示按下的特定键或按钮。
希望这符合原因。:)
还请注意,有几个插件可以获得快捷方式,但是我建议坚持使用basic,并使用我已经给出的演示,如果它只分别捕获两个事件,rest演示就是您要播放的全部:)
码
/*
1 = Left Mousebutton
2 = Centre Mousebutton
3 = Right Mousebutton
*/
$('input').mousedown(function(e) {
if (e.which === 3) {
alert('rightclick'); /* Right Mousebutton was clicked! */
}
});
$('input').bind('contextmenu', function(e) {
alert('keyboard yeah');
//console.log(e);
});发布于 2012-07-12 10:16:13
您还可以检查按下的键是否是keyPressed事件。
如果不是,是鼠标事件,如果是,则为contextmenu键。
编辑: contextMenu的关键代码是93
https://stackoverflow.com/questions/11449606
复制相似问题