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

2024-01-11

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

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

$('#'+inputId).bind('contextmenu', function(e) {
    console.log(e);
});

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

对于使用鼠标右键单击,它是-

  1. 按钮:2
  2. 原始事件:鼠标事件
  3. 类型:“上下文菜单”
  4. which: 3

对于键盘上的上下文菜单按键,它是 -

  1. 按钮:2
  2. 原始事件:鼠标事件
  3. 类型:“上下文菜单”
  4. which: 3

我只想在物理键盘上按下“上下文菜单键”时执行某些操作。我该如何实现这一目标?


你好这将帮助您捕捉差异:工作演示 http://jsfiddle.net/pPnME/1/ http://jsfiddle.net/pPnME/1/

我已经在 Alienware - Chrome 上对此进行了测试,当您右键单击时,您将看到右键单击警报,否则在键盘上您将看到键盘警报。

请注意:您可以根据以下内容来识别点击:which财产:http://api.jquery.com/event.which/ http://api.jquery.com/event.which/

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

希望这符合原因。:)

另请注意,很少有插件可用于获取快捷方式,但我建议坚持使用基本功能,并使用我给出的演示(如果它只是分别捕获两个事件,则其余演示都可以玩:)

code

/*
  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);
});​
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何区分“使用鼠标右键单击”和“在物理键盘上按上下文菜单键” 的相关文章

  • jquery:选择xpath或将xpath转换为css?

    我需要基于 xpath 选择 或者将 xpath 转换为 css 有插件或者内置功能吗 ex html body div a 4 each 并非所有 xpath 表达式都可以转换为类似 CSS 的选择器 或者不能有效地工作 您可以使用 eq
  • 如何让 jQuery 的自动完成插件在页面加载时显示其下拉列表?

    http community sciencecareers org mt static plugins CommunityPlus js autocomplete http community sciencecareers org mt s
  • 使用 jquery 在菜单中突出显示当前 url

    我有一个菜单 但我想突出显示当前与 jquery 的链接 var loc window location var lochref topNavigation li a attr href if lochref loc topNavigati
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • JavaScript / jQuery 中的范围[重复]

    这个问题在这里已经有答案了 显然我写了太多的 CoffeeScript 因为我现在意识到我对纯 JS 中的作用域没有基本的了解 玩了一段时间后 我无法弄清楚以下问题 document ready function var myUrl htt
  • Jquery:选择器找不到类?

    我正在尝试推进 Jquery autcomplete 功能 我希望 Jquery 自动完成在表中创建新行 到目前为止 这有效 但我希望 Jquery 添加一个删除按钮 因此用户可以删除他添加的项目之一 document ready func
  • JavaScript/JQuery:$(window).resize 如何在调整大小完成后触发?

    我这样使用 JQuery window resize function 然而 如果用户通过拖动窗口边缘使其更大 更小来手动调整浏览器窗口的大小 resize上面的事件会多次触发 问题 如何在浏览器窗口调整大小完成后调用函数 以便事件仅触发一
  • jquery验证-等待远程检查完成

    当我打电话时 form valid 我连接了远程验证检查 一切正常 但是如果所有其他字段都有效 则表单会通过验证 因为远程检查没有 足够快 返回响应 有没有办法强制 jquery 验证等待任何远程检查完成或挂钩远程检查调用的完成事件 我目前
  • jquery datatable ajax 无数据可用 mvc

    我有一张桌子是在 document ready功能 我还使用 jQuery DataTables 插件 由于某种原因 当页面加载时 ajax 调用控制器并返回数据并将其设置为我的网格所有获取的数据 但是尽管所有数据都加载到数据表中 但仍获取
  • 选择变量的嵌套元素 - jQuery

    我希望将变量传递给函数并让函数选择该变量中的元素 我不熟悉这种情况的语法 但是有人可以建议吗 例如 当在容器内单击按钮时 我希望将该容器存储在变量中 好吧 我有那部分 但后来我希望选择该容器中的某个元素 例如 container div e
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • Jquery 组合 SlideUp/Down 并单击

    我创建了两个脚本 其中一个具有向上滑动和向下滑动命令 这些命令在页面加载时作用于计时器 第二个是单击事件 其中单击链接时执行向上 向下滑动命令 这两个脚本都是单独工作的 但我无法让它们一起工作 这是定时向上 向下滑动脚本 document
  • jquery.validate 中是否有一个函数可以像重置表单一样重置单个字段?

    我想调用 jquery 函数来手动删除单个字段中的错误并重置错误标记 是否有一个函数可以执行此操作 类似于 resetForm 函数 您可以执行以下操作来验证单个字段 your field valid 也许它会对某人有所帮助 Thanks
  • 动态地将工具提示文本设置为 div 元素

    我正在尝试动态地将工具提示文本设置为容器 div 并对我刚刚添加到有序列表的每个 div 元素 elem Alias Status 使用 jQuery function addNewElement elem var li li li li
  • 如何使用 JQuery 动态排序

    如果我有一个下拉列表和一个列表框 有没有办法使用 JQuery 根据下拉列表对列表框进行排序 举个例子会很有帮助 这会改变下拉菜单中的顺序 您必须根据自己的标准设置顺序
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts

随机推荐

  • 覆盖 UserControl 中的 DependencyProperty

    我有一个 UserControl 和默认值HorizontalContentAlignment is HorizontalAlignment Stretch 在构造函数中我将其设置为HorizontalAlignment Left 当我使用
  • 带有图像的按钮?

    我正在尝试创建一个带有图像的按钮 所以基本上 我需要下面代码的button to版本 这是一篇相当老的文章 但供将来参考 从 Rails 3 2 1 开始 您可以使用button tag代替button to 因为第一个本身允许图像 例如
  • 从数据帧的每个子集中减去第一个值

    我想从数据帧的每个子集中的每个值中减去该子集中的最小值 即 A lt c 1 3 5 6 4 5 6 7 10 B lt rep 1 4 length out length A df lt data frame A B df lt df o
  • 使用 NSURLRequest 通过 POST 将键值对传递给 PHP 脚本

    我对 Objective C 相当陌生 并且希望使用 POST 将许多键值对传递给 PHP 脚本 我正在使用以下代码 但数据似乎没有被发布 我也尝试使用 NSData 发送内容 但似乎都不起作用 NSDictionary data NSDi
  • Java 8 Stream(基于资源).iterator() 自动关闭资源?

    Java 8 吗Stream iterator 完成后自动关闭流 我想不是 我有这样的事情 class Provider implements Serializable Iterator
  • 如何在 Dockerfile 中设置帐户密码?

    ENV USERNAME ros RUN adduser ingroup sudo disabled password gecos shell bin bash home home USERNAME USERNAME RUN bash c
  • pandas 查询包含由数组条目组成的列

    ykp data Out 182 state action reward 0 41 5 59 1 5 52 48 2 46 35 59 3 42 16 12 4 43 37 48 5 36 5 59 6 49 52 48 7 39 11 2
  • 滚动画布内容

    我在画布上绘制了一些文本和矩形 package com cavium test views import org eclipse swt SWT import org eclipse swt events PaintEvent import
  • 如何使用 thunk 在react-redux hooks中进行异步调用?

    我开始学习钩子 但我不明白异步调用如何正确工作 早些时候我用过 import as actionQR from actions qr function mapDispatchToProps dispatch return actionQR
  • 在asp.net core 2.1中捕获服务器端的会话超时

    我需要做点什么会议结束事件 我怎样才能参加这个活动 与此事件类似的任何事情可能会超时 ASP NET 有一个Session OnEnd您可以在 Global asax 中注册事件 但即使如此 它也非常不可靠 您只能将它用于进程内会话 并且它
  • 如何访问Azure Service Fabric有状态/无状态服务中的settings.xml?

    如何访问和读取中定义的参数PackageRoot Settings Settings xml来自我的有状态 无状态服务代码的文件 例如 我有一个带有参数 EndpointUrl 的 DocumentDbConfig 部分 section s
  • 显示成功消息,然后在超时后使用 PageFlow 重定向到另一个页面

    如何显示成功消息 然后在超时后将用户重定向到另一个页面 例如5秒 成功登录后我需要这个作为登录页面 我尝试了以下操作 我可以看到登录失败时的警告消息 但看不到登录成功时的成功消息 它立即显示目标页面 public String check
  • Amazon EC2丢失私钥,如何访问服务器? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 前天我的电脑被偷了 我把我的一台服务器私钥放进去 该密钥受密码保护 所以应该没问题 但问题是现在我无法访问服务器 服务器是Ubuntu 亚马逊EC2
  • 管理到非管理开销

    在 NET 中 有几个地方必须离开托管代码并进入非托管 也称为本机代码 领域 仅举几例 外部 DLL 函数 COM调用 总是有一些关于开销的评论从一个原因跳到另一个原因 我的问题是是否有人测量了正在发生的确切开销 并可以解释如何计算它 例如
  • 是否可以将 Azure 虚拟机移动到另一个区域?

    我有一个带有非托管磁盘的 Azure VM 我想把它移到另一个地区 除了概括我当前的虚拟机之外还有其他方法吗 除了概括我当前的虚拟机之外还有其他方法吗 Azure 不支持更改 VM 的位置 您需要将 VM 的 VHD 复制到另一个位置并使用
  • 如何加载本地json文件?

    有没有办法使用 about config 配置 Firefox 以允许本地文件访问 用于演示目的 特别是使用 FF12 我需要能够对 json 数据进行本地文件访问 它在服务器上运行良好 但我想让这个演示更加便携 ajax url asse
  • 如何查看 Android 设备的屏幕状态?

    有没有办法在没有广播接收器的情况下知道Android设备屏幕是否打开 我想通过警报管理器调用的服务在设备上进行分钟间隔更新 我还想延长电池寿命 因此 如果设备屏幕打开 更新服务就会运行 我用这段代码找到了解决我的问题的方法 PowerMan
  • os.fork 和 multiprocessing.Process 之间的行为差​​异

    我有这个代码 import os pid os fork if pid 0 os environ HOME rep1 external function else os environ HOME rep2 external function
  • 驱动器文件更新错误 500

    我的应用程序在 appdata 文件夹中保留了一些应用程序特定文件 但是 当文件尝试更新云端硬盘应用程序数据中的文件时 反复从云端硬盘服务器收到内部错误 我正在使用 Objective c 客户端调用 Drive API 你能帮忙看看这些有
  • 如何区分“使用鼠标右键单击”和“在物理键盘上按上下文菜单键”

    如何区分使用鼠标右键单击和物理键盘上的上下文菜单按键 使用此代码我尝试在控制台中打印事件 inputId bind contextmenu function e console log e 我抓取了上面代码的一些输出 对于使用鼠标右键单击