click() 未在链接元素上调用
click() not being invoked on link element
这是代码:
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
由于某种原因,未在 IE 中调用下载。它适用于Firefox,Chrome和Opera,但不适用于IE。我使用的是最新版本的IE 11。
我尝试在链接上设置一个单击事件处理程序,该处理程序会发出警报,以便我可以查看链接是否被单击,但没有任何反应。
有什么想法吗?
我现在无法测试 IE11,但请尝试:
(function() {
var a = document.createElement('a');
a.setAttribute("href", uri);
var dispatch = document.createEvent("HTMLEvents");
dispatch.initEvent("click", true, true);
a.dispatchEvent(dispatch);
}());
经过一些研究,link.click() 似乎在 IE 中不起作用,因为 IE 不知道它应该在哪个元素上触发点击事件(即使它直接引用了它)。它适用于其他浏览器,因为它们可以准确地"猜测"在哪里触发它。
我设法通过向 DOM 添加一个链接元素来解决这个问题,然后通过查询选择器引用它,最后在其上调用 click() 方法。
相关文章:
- 从不是wicket组件的元素调用wicket
- Javascript 从 html 元素调用函数
- 使用 jQuery 对动态创建的元素调用自定义函数
- 从附加的元素调用javascript
- JS脚本由1个元素调用,而不是由其他3个元素调用
- 对动态添加的元素调用函数
- 如何为适当的元素调用 js
- 如何在 Meteor.js 中对包含在 if 语句中的元素调用函数
- .mousedown()只为每个元素调用一次
- 对类选择的元素数组使用FOR循环,并对每个元素调用函数
- 根据数组的元素调用函数
- 当类被从子元素调用的javascript更改时,CSS转换不起作用
- 为禁用的元素调用函数
- 对动态添加的html元素调用jQuery方法
- 从输入元素调用javascript
- 对同一元素调用Mustache两次失败
- 如何为多个输入元素调用日期范围选择器
- 我如何使那些由于附近的其他元素调用$. fadein()而移动的元素产生动画?
- 对象元素调用函数
- 如何为元素调用click()