2010-08-10 66 views
6

可能重複的類型:
JavaScript: Visibility error in Internet Explorer when setting focus on an input elementGreybox:不能將焦點移到控制,因爲它是無形的,未啓用,或不接受焦點

我有一個在灰箱中加載的頁面。我將焦點設置爲document.getElementById("textfield").focus() - 當直接調用頁面時,此工作正常。

但是,當加載在greybox,將焦點設置在onload()事件的回報:

不能將焦點移到控制,因爲它是無形的,沒有啓用, 或類型的那不接受焦點

以後調用它工作正常。

任何想法?

謝謝!

+0

沒關係,解決了這個問題! – Michael 2010-08-10 18:55:26

回答

1

只需發佈一個快速答案...今晚必須解決這個問題。顯示灰盒子頁面後,使用setTimeout短暫調用焦點功能。

在我的版本中使用,因爲它已經在這個項目中,但你可以很容易地使用在window.onload一個小的jQuery()

<script type="text/javascript"> 
    $(document).ready(function() { 
    setTimeout ("document.getElementById('AdminID').focus(); ", 500); 
    }); 
</script> 
7

這是對IE一個衆所周知的問題。

你可以閱讀關於它here

解決方法是使用setTimeout()函數來延遲focus()執行時間。

您需要更換線路:

document.getElementById("textfield").focus(); 

下列要求:

setTimeout(function() { document.getElementById("textfield").focus(); }, 10); 
+2

非常感謝,這是令人討厭的地獄,並導致與IE8的這麼多問題 – nsilva 2013-08-02 11:17:36

+1

我只見過這個錯誤只有在IE8和更老 – Spiff 2014-08-26 11:58:15

相關問題