當 innerHTML 取代 Div 包含輸入欄位時,網頁會失去焦點

狀況

您必須包含內嵌在 DIV 標籤中的輸入欄位的 HTML 網頁。您會使用您的網頁中的指令碼,並使用innerHTML屬性來取代周圍的 DIV 容器。(這個屬性也包括具有焦點的 [輸入] 欄位)。在此情況下,網頁不再具有焦點。

原因

發生這個問題是因為文件。ActiveElement屬性設定為 null。

注意它是預期的行為,在 IE9 標準模式和更新版本的模式中的文件。ActiveElement屬性設定為 null 時您會使用innerHTML屬性,來取代周圍的 DIV 容器。

解決方案

更新資訊

若要解決這個問題,請安裝最新的 Internet Explorer 累積安全性更新。要執行這項操作,請移至Microsoft Update

如需 Internet Explorer 最新的累積安全性更新的技術資訊,請移至下列 Microsoft 網站:

http://www.microsoft.com/technet/security/current.aspx注意此更新程式先包含在安全性更新 2888505 中。

如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2888505 MS13 088︰ 為 Internet Explorer 累積安全性更新︰ 2013 年 11 月 12,

因應措施

如果要解決這個問題,當內容變更時使用的innerHTML屬性,以及當文件。ActiveElement是 null,將本文中的innerHTML屬性,藉由呼叫document.body.setActive(),視您的情況。

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

更多的資訊

這項更新改變舊版的 IE7 文件模式的功能,並使文件模式在舊版的 Internet Explorer 中所顯示的一樣,執行相同的後援 IE8 文件模式 (例如相容性檢視) 在 Internet Explorer 10:

  • 當您使用 「 Internet Explorer 7"文件模式,文件ument。ActiveElement屬性設定為以本文標籤。

  • 當您使用 「 Internet Explorer 8"文件模式,而文件。ActiveElement屬性設定為 HTML 標記。

參考

請參閱術語Microsoft 用來描述軟體更新。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×