首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何区分“鼠标右键单击”和“物理键盘上的上下文菜单按键”

如何区分“鼠标右键单击”和“物理键盘上的上下文菜单按键”
EN

Stack Overflow用户
提问于 2012-07-12 10:10:39
回答 2查看 2.2K关注 0票数 2

如何区分使用鼠标右键单击和物理键盘上的上下文菜单键?

使用此代码,我尝试在控制台中打印事件。

代码语言:javascript
复制
$('#'+inputId).bind('contextmenu', function(e) {
    console.log(e);
});

我抓取了上面代码的输出-

使用鼠标右键单击的是-

  1. 按钮:2
  2. originalEvent: MouseEvent
  3. 类型:"contextmenu“
  4. 其中:3

用于上下文菜单键按下键盘上的是-

  1. 按钮:2
  2. originalEvent: MouseEvent
  3. 类型:"contextmenu“
  4. 其中:3

我只想在物理键盘上按下“上下文菜单键”时执行一些操作。我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-12 10:23:46

你好,这将帮助您捕捉不同之处:Working Demo http://jsfiddle.net/pPnME/1/

我已经在Alienware - Chrome上测试过这一点,当你右击时,你会在键盘上看到右击警告--其他明智的--你会看到键盘警告。

请注意:您可以根据which属性:http://api.jquery.com/event.which/识别单击

对于键或鼠标事件,此属性指示按下的特定键或按钮。

希望这符合原因。:)

还请注意,有几个插件可以获得快捷方式,但是我建议坚持使用basic,并使用我已经给出的演示,如果它只分别捕获两个事件,rest演示就是您要播放的全部:)

代码语言:javascript
复制
/*
  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);
});​
票数 2
EN

Stack Overflow用户

发布于 2012-07-12 10:16:13

您还可以检查按下的键是否是keyPressed事件。

如果不是,是鼠标事件,如果是,则为contextmenu键。

编辑: contextMenu的关键代码是93

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11449606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档