【问题标题】:Upload files - IE won't release focus of input field上传文件 - IE 不会释放输入字段的焦点
【发布时间】:2011-05-05 09:08:14
【问题描述】:

当您在 IE 中(至少在 IE8 中)上传文件时,您可以双击该字段而不是单击浏览。如果您这样做,问题是当您在选择文件后返回表单时。它看起来像这样:

无论您在页面上的哪个位置移动鼠标,IE 都会选择字段中的文本(如果您单击任何位置,它会释放焦点)
如果您单击浏览按钮开始,则不会发生这种情况,仅在双击输入字段时才会发生。

现在,有没有办法让字段的行为方式相同,无论是单击按钮还是双击字段?就像将焦点放在表单的其他部分一样。

我开始烦了。

【问题讨论】:

    标签: .net internet-explorer file-upload


    【解决方案1】:

    您基本上是想点击“onchange”事件,然后将焦点设置在其他地方:HTML File input JS events

    我能够使用 jQuery 和这段代码(其中“up”是您的文件输入的 id)让 IE8 突出显示消失:

    $(document).ready(function() {
        $("#up").change(function() {
            $(document).focus();
        });
    });
    

    【讨论】:

    • ..并且没有 jquery?另外,如果没有 javascript,你就无法解决这个问题,对吧?
    • document.getElementById("up").onchange = function() { document.body.focus(); }; - 您将需要以某种方式使用 js 来从输入文本框中移除焦点。这是问题的根源 - texbox 具有焦点并被选中(以一种奇怪的、典型的 IE 方式)。
    【解决方案2】:

    以下对我有用:

        // Fix bug on IE 11
        $("input[type='file']").click(function() {
            var $this = $(this);
            $this.hide();
    
            setTimeout(function() {
                $this.show();
            });
        });
    

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多