输入类型文件在mozilla中触发两次(窗口)

时间:2013-08-29 10:49:47

标签: javascript jquery html file-upload html-input

我的网站有一个奇怪的问题(使用 backbone.js ,但我觉得它与此框架无关)。我正在使用的模板是一个名为 Ace Admin bootstrap 支持的管理主题。

文件的 HTML 如下:

<input type="file" class="profileImage" name="profileImage" id="id-input-file-1" /> 

相同的脚本

    $('#id-input-file-1').ace_file_input({
        no_file:'Image resolution 640*640',
        btn_choose:'Choose',
        btn_change:'Change',
        droppable:false,
        onchange:null,
        thumbnail:true,
        whitelist:'gif|png|jpg|jpeg',
        blacklist:'exe|php',
        //onchange:''
        //
    });        

mozilla Windows机器中,当我点击input时,文件选择屏幕会出现两次。确切地说,当我单击输入时,本地驱动器窗口打开。我选择一个文件并关闭它。一旦我关闭它,另一个窗口打开。实际上,如果我点击文件输入,我必须一个接一个地关闭两个窗口。

所以我的问题是:

  1. 我在这里做错了什么?
  2. 我可以处理这件事吗?就像说我得到点击事件并注册状态并通过检查状态等来处理第二个电话?
  3. 有没有更明显的方法通过脚本处理这个?
  4. 我的输入文件

    enter image description here

    弹出式广告

    enter image description here

1 个答案:

答案 0 :(得分:2)

经过一个月的漫长岁月,我找到了解决方案。有一个带模板的min文件,里面有一个代码,如下特别针对mozilla:

        if (b.browser.mozilla) {
            n.on("click", function () {
                if (!k.disabled && !m.attr("readonly")) {
                    m.click()
                }
            })
        }

当我删除它时,它不再触发文件上传两次。我想这是用于旧版本的mozilla。有许多与单个文件按钮相关的样式,原始文件类型在视图中隐藏。