IE6-IE9相容性問題列表及解決辦法_補充之五:在IE9下, disabled的文字框內容被選中後,其他控制項無法獲得焦點問題

來源:互聯網
上載者:User

先看一段Htm代碼,裡面一個disabled的文字框,一個普通可寫的文字框,還有一個按鈕,非常簡單,代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
  Disabled Input: <input type="text" id="b1" value="asldfjasldfa" disabled="disabled" ></input><br />
  Non-Disabled Input: <input type="text" id="b2" value="asldfjasldfa"></input>
  <input type="button" id="butt1" name="butt" value="關閉" onclick="window.close()" />
</body>
</html>

運行出來的頁面如下:

通過實際測試發現,在IE9下,滑鼠一旦進入disabled的文字框,比如在裡面拖拽滑鼠並選中一些內容,然後再想把滑鼠挪開,比如挪到第二個文字框中,或者比如點擊以下關閉按鈕,就會發現,辦不到了,似乎disabled文字框的焦點永遠無法離開了,其他文字框或者按鈕永遠獲得不到焦點,除非用Tab鍵切換,或者乾脆切換到其他軟體介面後再轉回來,這時別的控制項才可以被點中。

 

經過測試,在IE6, 7, 8, 10上都無此問題。 

 

經過諮詢獲悉,發現這確實是IE9的一個bug。

 

如何解決呢?下面是我們摸索出來的幾個方法,拋磚引玉一下:

1.升級到IE10。

升級到IE10,自然就解決了這個問題。因為既然IE10既然已經解決這個問題了,那麼IE9就應該不會再為這個bug專門發布補丁修複程式了。

2.滑鼠雙擊一下頁面其他部分,就可以把焦點從disabled文字框中解脫出來了。

3.寫指令碼禁止disabled文字框被選擇也是一個方法,但前提是文字框既然已經disabled了,就不接受任何js事件了,那麼,只能在其父元素上搞這個動作了,比如在disabled文字框外再套個東東,在那上面綁定js事件,禁止此地區被滑鼠進入或選擇,這樣,相應的,其內部的disabled文字框也就不能被選擇了,那麼,這個文字框焦點無法離開的問題也就不存在了。

 
不知道諸位是否遇到過這個問題,是否有更好的解決方案? 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.