用纯Javascript触发右键单击

我怎样才能手动触发一个右键点击使用JavaScript?

我可以用jQuery做到这一点,但在这种情况下,我只能使用纯Javascript。

使用CustomEvent构造函数创build一个事件,或者(当它不被支持时),使用document.createEvent作为参数string“HTMLEvents”创build一个事件(因为你要创build一个click事件)。 然后,使用initEvent方法创build一个click事件。

最后,使用dispatchEvent方法来触发事件。 如果您使用IE,则必须使用fireEvent方法。

如果要触发右键点击事件,请使用下面的代码:

 var element = document.getElementById('yourElement'); if (window.CustomEvent) { element.dispatchEvent(new CustomEvent('contextmenu')); } else if (document.createEvent) { var ev = document.createEvent('HTMLEvents'); ev.initEvent('contextmenu', true, false); element.dispatchEvent(ev); } else { // Internet Explorer element.fireEvent('oncontextmenu'); } 

以Rob W为例,我还没有尝试过,但是,您需要制作事件对象并在事件发生时传递它。 右键单击传递event.button = 2;

 var element = document.getElementById("yourElement"), ev; if(document.createEvent ) { ev = document.createEvent("MouseEvents"); ev.initMouseEvent("click", true, false, window,0,0,0,0,0,false,false,false,false,2,null); element.dispatchEvent(ev); } else { ev = document.createEventObject(); ev.button = 2; element.fireEvent('onclick', ev); } 

根据mdn initMouseEvent更新。 祝你好运 :)