2011-05-05 81 views
1

當您在IE中上傳文件(至少在IE8中)時,您可以雙擊該字段而不是點擊瀏覽。如果你這樣做的問題是當你選擇一個文件後返回到表單。它看起來是這樣的:上傳文件 - IE將不會釋放輸入字段的焦點

enter image description here

IE將選擇在該領域的文本不管你移動你的鼠標在頁面上(它釋放,如果你點擊,雖然隨時隨地關注)
這不會發生,如果您單擊瀏覽按鈕開始,它只發生在雙擊輸入字段時。

現在,有沒有辦法使字段的行爲方式相同,無論您單擊按鈕還是雙擊該字段?就像把重點放在表單的其他部分上一樣。

它開始煩我了。

回答

1

你基本上要在挖掘到了「的onchange」事件,然後將焦點設置在別處:HTML File input JS events

我能得到的IE8突出走開使用jQuery和驗證碼(其中「向上」您的文件輸入的id):

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

..和無jQuery的?此外,你不能繞過這個沒有javascript,對吧? – Niklas 2011-05-10 06:53:00

+0

'document.getElementById(「up」)。onchange = function(){document.body.focus(); };' - 您將需要以某種方式使用js從輸入文本框中移除焦點。這是問題的根源 - texbox具有專注並被選中(以一種奇怪的,典型的IE類型)。 – 2011-05-11 00:12:37

0

對我來說,以下工作:

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

     setTimeout(function() { 
      $this.show(); 
     }); 
    }); 
相關問題