項目里面寫了一個自己封裝的彈出層,原理是先動態添加一個遮罩層,再動態添加一個DIV(Table)層(做彈出層的PNG半透明邊框效果),DIV里面動態添加一個I " /> 亚洲欧美综合,h片在线观看视频免费免费,亚洲精品丝袜日韩

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

IE6 彈出Iframe層中的文本框“經常”無法獲得輸入焦點

公司WEB項目要求是必須兼容FF3,IE6/7/8。本文所述為IE6下的一個BUG.

  項目里面寫了一個自己封裝的彈出層,原理是先動態添加一個遮罩層,再動態添加一個DIV(Table)層(做彈出層的PNG半透明邊框效果),DIV里面動態添加一個IFrame,這個Iframe頁面指向一個現存的HTM文件。

  如果這個HTM文件中,包含文本輸入框這樣的一些表單元素,在IE6下就會出婁子了。

  測試組的人說了,彈出層打開后,“經常”無法獲取文本框的焦點,就是鼠標點文本框無法獲取焦點并顯示輸入標記,仿佛被什么透明層給蓋住了。但有時是正常的,可謂間歇性精神障礙。有的機子上百分之五十的幾率出現,有的機子上百分之三十左右的幾率出現。

  少不了得做一番測試和分析了。

  經我在虛擬機IE6測試,也發現的確如測試組的人所說。

  我確信不可能有多余的覆蓋層,因為除文本框之外,它周圍的任何文字都可以正常的用鼠標選中,它周圍的任何元素包括這個文本框本身也能響應onclick事件,只是無論怎么點,都無法獲取輸入焦點。(文本框沒有設置readOnly或者disabled)

  但是,某些小動作就可以讓它們恢復正常,比如在這個Iframe里右鍵刷新一下,或者是在這個Iframe里按'TAB'鍵將焦點切換到任何一個文本框,這時,所有的文本框都可以用點擊正常獲得焦點了。還真是變態!

  咱總不能說這是IE6的BUG我們程序無法解決吧,領導是不聽這話的。

  經過一番努力,還是有了解決方案。

  我發現,手動調用一下任何一個(通常是第一個)文本框的focus()方法就可以讓所有的文本框恢復神智了。于是寫了一個公共腳本,在Iframe內的頁面末尾,獲取第一個文本框并調用其focus(),經測百來次,再沒碰見無法獲取焦點的情況,問題解決。

下面是網友回復:
彈出的那個標簽是<a />標簽吧?
換成<span />標簽似乎就OK了

JavaScript技術IE6 彈出Iframe層中的文本框“經常”無法獲得輸入焦點,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 绥宁县| 米泉市| 莲花县| 荔浦县| 讷河市| 横山县| 东乌| 义乌市| 玉龙| 西藏| 昭苏县| 贵德县| 浠水县| 嫩江县| 越西县| 滨州市| 普宁市| 白朗县| 教育| 淮安市| 漯河市| 蒲江县| 新晃| 怀来县| 漳浦县| 当雄县| 碌曲县| 股票| 钟山县| 天长市| 鸡东县| 铜川市| 商丘市| 宜兰县| 郸城县| 和政县| 麻阳| 固安县| 道真| 濮阳市| 灵宝市|