如何在javascript中模拟右键单击

时间:2013-06-13 16:29:15

标签: javascript right-click

好的,我知道我可以通过运行此代码来模拟点击

document.getElementById('recover').click();

我能找到的最接近的是cntextmenu所以我试过

document.getElementById('recover').contextmenu();

然而这没有任何作用

是否可以右键单击和元素以显示上下文菜单,以便我可以单击该列表中的项目?如果是这样,有人能指出我正确的方向来实现这样的目标吗?

我已经做了一些搜索,但我发现的唯一一件事是jquery javascript捕获事件并没有实际触发事件

2 个答案:

答案 0 :(得分:7)

使用jQuery

$('#recover').trigger({
    type: 'mousedown',
    which: 3
});

,否则

var element = document.getElementById('recover');
var e = element.ownerDocument.createEvent('MouseEvents');

e.initMouseEvent('contextmenu', true, true,
     element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
     false, false, false,2, null);


return !element.dispatchEvent(e);

答案 1 :(得分:2)

当然,您可以使用jQuery trigger()功能。

$('#recover').trigger({
    type: 'mousedown',
    which: 3
});

根据您正在做的事情,您可能希望触发鼠标按下然后按下鼠标,这可能是这样的:

$('#recover').trigger({
    type: 'mousedown',
    which: 3
}).trigger({
    type: 'mouseup',
    which: 3
});

我不是那种链接长命令的忠实粉丝,但对你的应用来说最可读的东西都很好。

相关问题