dojo on.emit“click”和“change”在IE中不起作用

时间:2013-08-07 20:14:00

标签: javascript file input dojo

从下面的代码中,您可以看到我正在尝试动态创建输入类型文件文本框,然后触发“单击”事件,以便弹出文件浏览器。选择文件后,“更改”事件将读取文件。

            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”。什么都行不通。

1 个答案:

答案 0 :(得分:0)

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

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