<input type="file" > 如何不通过点击触发而使用js模拟触发出现文件选择弹出框。(也不能点击其他的元素)。
<input type="file" id="upload">
var $input = document.querySelector('#upload');
$input.onclick = function() {
console.log('a');
}
$input.click();
在chrome里面执行上面的代码,控制台会打印出console
语句的内容,但是不会弹出选择文件的窗口,直接在控制台执行document.querySelector('#upload').click()
就会弹出窗口。
在firefox会有一行提示信息说阻止了一个弹出窗口,如果选择了允许,就能弹出选择文件的窗口了。
这应该是浏览器出于安全方面的考虑吧。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
jquery触发
$('input').click()
也可以用原生的方式
dom = document.getElementById('').click();
或者用
var event = document.createEvent('MouseEvents')
event.initMouseEvent('click',false,false)
dom.dispatchEvent(event)