2013-02-23 47 views
4

我的代碼只能在Firefox中使用。爲什麼是這樣?IE和Chrome不會爲<option>元素觸發鼠標懸停事件

HTML:

<select id="selecter"> 
     <option>one</option> 
     <option>two</option> 
     <option>three</option> 
    </select> 

的Javascript:

$(function() { 
    $(document).on("mouseover", "#selecter option",function(){ 
      alert(1)   
    }); 
}); 

我很好奇,爲什麼IE和Chrome不會觸發鼠標懸停事件。看到這個JSFiddle:http://jsfiddle.net/yT6Y5/72/(在Firefox中完美的工作。)

我怎樣才能讓IE和Chrome來觸發一個mouseover事件?

回答

-2

也許你應該使用,不同的方法來對事件

$(function() { 
    $("#selecter").mouseover(function(){ 
     alert(1)   
    }); 
    }); 
+0

鼠標懸停不會鉻兩種方式工作。 – 2013-02-23 09:04:49

+1

這是不是射擊要麼嘗試這在ie或鉻http://jsfiddle.net/yT6Y5/73​​/ ..... thanx – tradebel123 2013-02-23 09:05:50

+0

那麼你可以嘗試改變事件,而不是 – youssDev 2013-02-23 09:06:18

4

的問題是,瀏覽器呈現的下拉列表不同綁定。 Chrome不是將其作爲HTML組件呈現,而是將其作爲本地GUI呈現。這不能有懸停處理程序與JS相關聯。

如果你想確保它適用於所有的瀏覽器或者不使用下拉或得到一個腳本來創建一個使用HTML元素

+0

這是一個很好的信息。 – 2013-02-23 10:01:16

+0

@PCoelho感謝您的信息..奇怪的行爲..不是??可以請告訴我有任何其他領域有相同的呈現問題..在此先感謝 – tradebel123 2013-02-25 09:35:57

1

看來,任何事件實際上是發射時將鼠標懸停在下拉列表IE & chrome中的一個選項,

最好應該綁定在change事件上。如果您的onmouseover分配給每個選項即使如此,它在chrome..because不會工作,我認爲Chrome不支持鼠標懸停

$(function() { 
    $("#selecter").change(function(){ 
      alert(1); 
    }); 
}); 
相關問題