.click()和创建鼠标事件之间的区别?

时间:2014-01-06 03:05:22

标签: javascript google-chrome firefox cross-browser

所以我试图解决

之间的差异

link.click()

var event = document.createEvent("MouseEvents");
event.initEvent("click", true, false);
link.dispatchEvent(event);

据我所知,这些应该是相同的事情(但是我的jsfiddle示例从URI导出csv这不是这种情况,因为它们在浏览器到浏览器的执行方式不同)

在firefox上使用.click()下载csv的弹出窗口将不显示(它将以chrome形式显示)

参见示例 - > http://jsfiddle.net/a5E9m/23/

使用鼠标事件的地方

参见示例 - > http://jsfiddle.net/a5E9m/25/

1 个答案:

答案 0 :(得分:1)

我认为Firefox对<a>元素的点击功能有限制。见here。而当您自己连接鼠标事件时,您手动添加点击线。另请参阅herehere

此外,正如Boris Zbarsky在评论中指出的那样,<a>元素在 the spec 中没有点击功能。