在IE中打开浏览窗口,点击文件输入
Open browse window in IE on single click file input
我在使文件输入按我想要的方式工作方面遇到了一些麻烦。文件元素由两部分组成,文本框和浏览按钮。在IE以外的其他浏览器中,单击其中任何一个都会打开一个窗口,您可以在其中选择文件。然而,在IE中,它只在我点击浏览按钮时打开。如果我点击旁边的文本框,我必须双击才能打开窗口。是否有一种方法来解决这个与javascript,所以一个单一的点击文本框也会打开窗口?我试了下面的方法,但没有用。(代码比实际示例简化了很多)
Html:<input id="file" name="file" type="file"/>
$("#file").click(function(){
$(this).trigger("dblclick");
});
$("#file").dblclick(function(){
alert("Double");
});
现在上面的代码提醒"Double",但不打开窗口。有办法解决这个问题吗?
由于整个控件是浏览器原生的(并且从未公开为文本框加按钮),因此您根本无法访问允许您调用上传按钮的方法/事件。我认为这主要是为了避免网站欺骗用户上传非预期的文件。
如果你能设法花一点时间来实现一个解决方案,这就能创建一个更容易管理的上传组件。我敢肯定,谷歌一下就会列出很多其他的例子,告诉你如何设置文件上传组件的样式。
刚刚在IE6 (http://jsfiddle.net/SUWRK/)上用JSFiddle测试了你的代码,根据我的理解,它可以像你期望的那样工作…警告显示在单个点击事件(请注意,在IE中捕获dblclick事件是很棘手的)9 -参见https://gist.github.com/399624)。
你确定在更大的代码集上没有别的事情发生吗?
相关文章:
- Javascript,文件输入和FormData问题
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 访问javascript文件输入变量的值
- 从IE中的不同元素调用时,文件输入控件未正确启动
- 多次打开多个文件输入,而不会丢失以前选择的文件
- jquery形成多文件输入字段Value()
- 如何从 Chrome 中的文件输入中删除“未选择文件”工具提示
- 如果从文件输入按钮调用 .ajaxSubmit() 时,它是必需的表单
- 生成由文件输入在特定时间选择的视频文件的缩略图/快照
- 使用javascript获取文件输入
- krajee引导程序文件输入上传
- on('change')不适用于动态添加的文件输入
- 选择要初始化精细上传器的文件输入
- 在DOM中以img的形式插入文件输入
- 单击跨度内的隐藏文件输入会导致RangeError
- 显示当前文件输入有文件后的下一个文件输入
- Krajee文件输入小部件'上传'方法引发异常
- 在引导文件输入中通过post发送一个额外的变量
- 引导文件输入
- 为什么在文件输入上触发点击事件也会在表单上触发提交事件