dojo on.emit”;点击“;以及“;改变“;不在IE工作

dojo on.emit "click" and "change" not working in IE

本文关键字:改变 不在 工作 IE 以及 点击 on emit dojo      更新时间:2023-09-26

从下面的代码中,您可以看到我正在尝试动态创建一个输入类型文件文本框,然后触发"点击"事件,这样文件浏览器就会弹出。一旦选择了一个文件,"更改"事件就会读取该文件。

            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"answers"onclicck"。什么都不管用。

文件浏览器在chrome/safari中弹出,因为这是它们的默认行为-您不必"发出"点击事件。IE不支持通过点击文本框来启动文件浏览器。

用户必须单击按钮才能打开文件浏览器。