IE8下元素背景為透明時,hover事件失效的bug
在IE8下,當一個div設定了背景為透明或者不設定任何背景時,在該div上註冊的hover事件是不會觸發的。
<div class='outer'>
<div class='inner'>
此處有文字
</div>
</div>
.outer{
width:100px;
height:100px;
}
.outer:hover{
color:#000000;
}
上面這段程式碼中,給outer加上了hover的偽類,正常情況下,滑鼠移到outer的100*100的區域中,就會觸發hover,並使得內部的文字的顏色
變成黑色。但是在IE8下面,滑鼠在除文字以往的區域都不回觸發hover,只有在滑鼠位於文字上時,才會觸發。
針對於這個bug,有如下解決方案:
1.給outer設定真實的背景圖片,不過是一張1*1的透明png。
.outer{
background-image:url('1.png');
}
2.給outer設定一個不存在的圖片,不過會產生404請求。
.outer{
background-image:url('.');
}
更多的參考資料可看如下連結:
http://blog.rednael.com/2009/09/01/TrappingMouseEventsOnTransparentInputElementsOrTextareasInIE.aspx
原文出處:http://www.foreverpx.cn
轉載請註明出處。
相關文章
- jQuery中多個元素的Hover事件jQuery事件
- CSS3背景色透明(相容IE8)CSSS3
- IE CSS Bug系列:Hover偽類的白背景被忽略CSS
- ie 9 背景透明的空白元素無法點選
- 關於滑鼠hover事件及延時事件
- IE CSS Bug系列:邊框在:hover狀態下消失 BugCSS
- jQuery hover事件jQuery事件
- Java 將PDF轉為透明背景的圖片Java
- 網頁中載入flash時是指flash背景為透明【Z】網頁
- IE CSS Bug系列:IE8中按鈕使用Auto-Margin居中失效CSS
- Android設定Activity背景為透明styleAndroid
- Mac終端程式背景如何設定為透明的?Mac
- IE CSS Bug系列:列表元素背景不顯示CSS
- IE CSS Bug系列:IE8中按鈕:active狀態背景移動CSS
- 使用JQ新增css的背景樣式,之後,hover失效,滑鼠滑過沒有改變顏色CSS
- iOS下的點選事件失效解決方法iOS事件
- Android中使按鈕的背景變得透明&前端中css設定透明背景Android前端CSS
- 為什麼trigger()無法觸發hover事件事件
- Js 擷取字串(hover事件)JS字串事件
- IE CSS Bug系列:相對定位時overflow失效CSS
- JavaScript進階系列05,事件的執行時機, 使用addEventListener為元素同時註冊多個事件,事件引數JavaScript事件dev
- 透明背景的開/關設定 (轉)
- IE CSS Bug系列:IE7中:hover絕對定位的BugCSS
- 動態生成html元素繫結事件iphone失效問題解決HTML事件iPhone
- 建立一個背景透明的UIViewControllerUIViewController
- jquery 為動態新增的元素繫結事件jQuery事件
- IE8 beta瀏覽器BUG真大瀏覽器
- CSS hover改變背景圖片過渡動畫生硬CSS動畫
- 顯示對話方塊,同時半透明顯示背景Activity
- 想把圖片當背景,但是其他控制元件背景設為透明色後,顯示的是背景顏色的問題解決控制元件
- css實現的背景透明文字不透明例項程式碼CSS
- 在一個元素上:hover,改變另一個元素的css屬性CSS
- winphone系統a、input標籤被點選時產生的半透明灰色背景
- css背景透明其上文字不透明程式碼例項CSS
- 原生js為元素繫結事件的幾種方式JS事件
- jquery為動態新增元素新增事件薦jQuery事件
- CSS實現背景透明,文字不透明(相容各瀏覽器)CSS瀏覽器
- python利用蒙版進行摳圖,背景透明和前景透明Python