从下面的代码中,您可以看到我正在尝试动态创建输入类型文件文本框,然后触发“单击”事件,以便弹出文件浏览器。选择文件后,“更改”事件将读取文件。
var i = new TextBox({name:'file',type:'file'});
on(i.domNode, "change", onChange);
on.emit(i.domNode, "click", {bubbles:true, cancelable:true});
function onChange(e){
var reader = new FileReader();
reader.onload = function(e) {
console.log(e.target.result);
}
reader.onerror = function(stuff) {
console.log("error", stuff);
console.log (stuff.getMessage());
}
reader.readAsText(i.domNode.files[0]);
}
这在Chrome中非常有效,但在IE中却没有提供任何消息。我认为这可能是事件本身,但我也试过“onclick”和“onclick”。什么都行不通。
答案 0 :(得分:0)
文件浏览器会在chrome / safari中弹出,因为它是默认行为 - 您不必“发出”点击事件。 IE不支持通过单击文本框启动文件浏览器。
用户必须单击按钮才能调出文件浏览器。