Javascript 参数不足,无法访问mouseEvent.initMouseEvent

Javascript 参数不足,无法访问mouseEvent.initMouseEvent,javascript,Javascript,以下JS代码在Safari上正常工作: var a = $('.shell a')[0]; var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent('click', true, true, window); a.dispatchEvent(evObj); 然而,这条线 evObj.initMouseEvent('click', true, true, window); 在Firefox中显示以下错误: Typ

以下JS代码在Safari上正常工作:

var a = $('.shell a')[0];
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window);
a.dispatchEvent(evObj);
然而,这条线

evObj.initMouseEvent('click', true, true, window);
在Firefox中显示以下错误:

TypeError: Not enough arguments to MouseEvent.initMouseEvent.
我应该使用什么来实现多浏览器兼容性?

正如您在上所看到的,不推荐使用这样的事件。“改用事件构造函数”:

就你而言:

var evObj = new Event('click');
a.dispatchEvent(evObj);
但是,
单击
事件要简单得多!本机DOM对所有元素都有一个
click()
方法,因此您可以执行以下操作:

a.click();
就这样


如果您想触发自定义事件或类似于
mouseover
的事件,您仍然可以使用(新)事件调度系统:
newevent('mouseover')
etc

这是旧方法。新方法更简单:
evObj=newevent('click')--所有浏览器?祝你好运<代码>单击
很简单。只需执行
domElement.click()
@Rudie你是说
jquerylement.click()
?不,我是说本机
domElement.click()
。在控制台中尝试:
document.querySelector('a')。单击()