how to simulate right click in javascript [duplicate]

こ雲淡風輕ζ 提交于 2019-12-21 05:05:05

问题


Ok, so i know i can simulate a click by running this code

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

the closest this i could find was cntextmenu so i tried

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

however this does nothing

Is it possible to right click and element to bring up the contextual menu so i can click an item on that list ? and if so could someone point me in the correct direction to accomplish such a goal ?

I've done some searching but the only thing i have found is jquery javascript capturing of the event not actually triggering the event


回答1:


with jQuery

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

otherwise

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);



回答2:


Sure, you can use the jQuery trigger() functionality.

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

Depending on what you're doing, you may wish to trigger a mouse down and then a mouse up, which could go like this:

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

I'm not a big fan of chaining long commands like that, but whatever is most readable for your app is fine.



来源:https://stackoverflow.com/questions/17092328/how-to-simulate-right-click-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!