<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button id="btn">上传</button>
<input type="file" id="file" style="display: none;"></input>
<script type="text/javascript">
var btn = document.getElementById('btn');
btn.addEventListener('click', function(){
document.getElementById("file").click();
});
</script>
</body>
</html>
我想你理解错了,我是想触发原生js的事件,不是去监听,我把两种的demo都上传了,你们可以测试一下看:
laya里“fileInput.click();”触发不了文件选择框:
// 触发浏览器文件上传框
let fileInput = Laya.Browser.document.getElementById('file');
//这里不可以
fileInput.click();
但是原生里 “document.getElementById("file").click();”是可以的:
btn.addEventListener('click', function(){
//这里可以打开文件框
document.getElementById("file").click();
});
都是trigger的是原生的input的click事件,但是laya里并没有弹出文件上传框