當事件mouseover中出現select下拉框時,select下拉是選不中的,解決辦法:
var o = e.relatedTarget || e.toElement;//判斷下移動到的對象,移動到option上ie下是null,firefox等為undefined。。
if (!o) return;//為option退出不隱藏
完整代碼案例為:
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <style type="text/css"> *{margin:0;padding:0;list-style:none;border:0;} .pop_blue{ position:absolute; cursor:pointer; padding:10px;} .pop_blue span{ display:inline-block; width:24px; height:32px; background: url(../images/pop_blue.png) no-repeat;} .map_xf .rud1{width:210px; position:absolute;border:1px solid #ddd; display:none; background-color:#fff;padding:17px 25px;} .map_xf .rud1 li{margin:0 0 8px;} .map_xf .rud1 input,.map_xf .rud1 select{height:22px;} </style> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(function(){ $('.pop_blue').hover( function(){ $(this).find('.rud1').show(); $(this).css("z-index","9999"); }, function(e){ var o = e.relatedTarget || e.toElement;//判斷下移動到的對象,移動到option上ie下是null,firefox等為undefined。。 if (!o) return;//為option退出不隱藏 $(this).find('.rud1').hide(); $(this).css("z-index","0"); } ) }) </script> </head> <body> <div style="position:relative;width:100px;height:100px"> <div class="pop_blue" style="top:0px; left:0;"> <span>鼠標移上</span><i></i> <div class="rud1 font12" style="top:10px;left:40px; display:none;padding:50px;background:blue;"> <ul> <li> <select class="w100" id="dan"> <option value="選擇單元" selected="">選擇單元</option> <option value="選擇單元" selected="">選擇單元1</option> <option value="選擇單元" selected="">選擇單元2</option> <option value="選擇單元" selected="">選擇單元3</option> <option value="選擇單元" selected="">選擇單元4</option> </select> </li> </ul> </div> </div> </div> </body> </html>
當鼠標移上時就不會出現選不中select的情況了。