Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果使用jQuery左键单击某个html元素,如何触发右键单击?_Jquery_Contextmenu - Fatal编程技术网

如果使用jQuery左键单击某个html元素,如何触发右键单击?

如果使用jQuery左键单击某个html元素,如何触发右键单击?,jquery,contextmenu,Jquery,Contextmenu,基本上,我想在左键点击时打开一个上下文菜单。使用jQuery还可以这样做吗?您不能。JavaScript没有访问浏览器的权限。相反,您可以创建自己的自定义上下文菜单,并尝试从普通上下文菜单(后退、前进等)中为其提供所需的行为选择。当然,其中一些可能会受到限制(如复制/粘贴) 您可以记录右击事件,并触发您想在右击时执行的任何事件。您不能触发右击,但可以使用 Shift+F10将触发Windows上的上下文菜单,类似于 function openContextMenu() { jQuery.ev

基本上,我想在左键点击时打开一个上下文菜单。使用jQuery还可以这样做吗?

您不能。JavaScript没有访问浏览器的权限。相反,您可以创建自己的自定义上下文菜单,并尝试从普通上下文菜单(后退、前进等)中为其提供所需的行为选择。当然,其中一些可能会受到限制(如复制/粘贴)


您可以记录右击事件,并触发您想在右击时执行的任何事件。

您不能触发右击,但可以使用

Shift+F10将触发Windows上的上下文菜单,类似于

function openContextMenu() {
  jQuery.event.trigger({ type: 'keypress', which: 121, shiftKey: true });
}
此外,还有一个上下文菜单键(在104多个键盘上,在CTRL键之前的右侧),它是:

更新

实际上,这些只是模拟事件——该事件的任何JS事件都会触发,但实际的密钥不会被发送

可以使用ActiveX对象执行此操作:

// ActiveX object
var shell = new ActiveXObject("WScript.Shell");

// Send SHIFT+F10
shell.SendKeys("+{F10}");

然而,该组件被标记为不安全的脚本,并且仅限于IE,所以该解决方案仅适用于内部网等

可能重复:@James Allardice:-答案在我的情况下不起作用。我已经试过了,只有我发布了这个问题。对我有效(至少在Chrome中):你能给我们展示一下你的实现吗,也许是使用jsfiddle.net?@James Allardice我想Rinkalkumar想要的是当用户左键单击某个对象时,右键单击时显示的默认上下文菜单。我无法使这两种解决方案都起作用。你试过了吗?@Jason Dean-不,它们只是一个起点,但我觉得值得贡献。
// ActiveX object
var shell = new ActiveXObject("WScript.Shell");

// Send SHIFT+F10
shell.SendKeys("+{F10}");