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

时间:2011-08-30 12:08:30

标签: jquery contextmenu

基本上,我想在左键单击本身打开上下文菜单。无论如何使用jQuery做到这一点?

3 个答案:

答案 0 :(得分:6)

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

http://labs.abeautifulsite.net/projects/js/jquery/contextMenu/demo/

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您无法触发右键单击,但可以使用.trigger()

触发按键

Shift + F10应触发Windows上下文菜单,例如......

function openContextMenu() {
  jQuery.event.trigger({ type: 'keypress', which: 121, shiftKey: true });
}

还有一个上下文菜单键(在104+键盘上的CTRL右侧)I think mightkeycode 93

function openContextMenu() {
  jQuery.event.trigger({ type: 'keypress', which: 93 });
}

<强>更新

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

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

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

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

然而,该组件被标记为对脚本不安全并且仅是IE,因此该解决方案仅对于内联网等非常实用。