7

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

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

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

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

然而这没有任何作用

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

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

4

2 回答 2

11

用 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);
于 2013-06-13T16:34:01.513 回答
5

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

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

根据您正在执行的操作,您可能希望触发鼠标向下然后鼠标向上,这可能是这样的:

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

我不喜欢链接这样的长命令,但是对于您的应用程序来说最易读的东西都可以。

于 2013-06-13T16:33:36.057 回答