2012-09-18 62 views
1

首先,我查找我的問題,並發現只有沒有密切相關的主題,我相信這可能是不同於我在谷歌上找到的東西,並感謝您的時間來看看我的問題。jQuery /瀏覽器問題與懸停事件選擇

http://jsfiddle.net/dSJMG/

在這裏你可以看到一個演示,我使用jQuery 1.8和有一個包含標籤的一個div和選擇元素,這些都已經開啓懸停事件提供編輯功能,並發現徘徊在外地時,並在選擇下拉菜單中選擇任何選項,有時會觸發mouseleave事件,但我沒有使用鼠標指針離開選項列表。 這似乎是以非確定性的方式發生的,更常見的是在選項上移動指針時更快一些(但仍然不會離開它的區域)。 另外我可以在每個主要的瀏覽器上重現它,但是我知道只有IE正式有這個錯誤。

這可能與定位有關,因爲當我增加容器與其子的空間時,問題似乎是固定的。

任何想法表示讚賞。

感謝

回答

0
var $select = $("select.sel"), $label = $("label.lab"); 

$(".cont").hover(function(evt) { 
    if (evt.type === "mouseenter") { 
     $select.val($label.hide().text()).show(); 
     $select.addClass('active'); 
    } else { 
     if(!$select.hasClass('active')) { 
      $label.text($select.hide().val()).show(); 
      $select.removeClass('active'); 
     } 
    } 
}); 

$("select.sel").change(function() { 
    if($select.hasClass('active')) { 
     $label.text($select.hide().val()).show(); 
     $select.removeClass('active');    
    } 
}); 

變化的jQuery like this

+0

感謝您的代碼更新,我希望這是一個已知的bug,也不需要使用任何解決方法。 – user1679799