[]无法触发浏览器文件上传框
// 程序入口在laya里无法触发浏览器<input type="file" id="file">文件上传框?
class GameMain {
private btn: Laya.Button;
private skin: string = 'images/button.png';
constructor() {
Laya.init(200, 300);
Laya.loader.load(this.skin, Laya.Handler.create(this, () => {
this.btn = this.createBtn(this.skin);
this.btn.on(Laya.Event.CLICK, this, this.onClick);
}));
}
/**
* 创建btn
*/
private createBtn(skin: string): Laya.Button {
let button = new Laya.Button(skin, '上传文件');
button.labelSize = 12;
button.labelColors = '#000000,#000000,#000000';
Laya.stage.addChild(button);
return button;
}
private onClick(): void {
// 触发浏览器文件上传框
let fileInput = Laya.Browser.document.getElementById('file');
fileInput.click();
console.log(fileInput);//input#file
}
}
new GameMain();
没有找到相关结果
已邀请:
要回复问题请先登录
4 个回复
ohkei - as3、as2、h5
赞同来自: cuixueying
缘于laya目前没有上传功能,只能借助原生js上传功能来架桥实现。
请看我的这个作品:http://ask.layabox.com/question/4467
cuixueying
赞同来自:
liukaijv
赞同来自:
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里并没有弹出文件上传框
191*****096
赞同来自:
egret可以 原生也可以 不知道为什么