2012-02-28 84 views
0

我發現在Chrome和IE瀏覽器在FF工作以及jQuery的ON方法子標籤問題

我下次更改類命名

jQuery(document).on("mouseout", ".buttonStyleOver", { className: "buttonStyle" }, ChangeClass); 
    jQuery(document).on("mouseover", ".buttonStyle", { className: "buttonStyleOver" }, ChangeClass); 

    function ChangeClass(e) { 
      var el = e.srcElement || e.target; 
      jQuery(el).attr("class", e.data.className);   
    } 

和我旁邊的HTML部分代碼(請不要將問題「T批評它,我知道這是不好的風格)

<button id="RunItButton" class="buttonStyle" type="button" style="vertical-align:middle;padding-right:5px;height:25px"><div class="cmRunIt">Run It</div></button> 

在IE和Chrome事件也改變類=‘cmRunIt’到buttonStyleOver如何解決它? 謝謝。

回答

1

爲了讓你瞭解你的問題,添加的console.log:

var el = e.srcElement || e.target; 
console.log(el); 

你會看到一些時間el是不是你的按鈕,但股利!爲什麼使用e.srcElement?

嘗試:

function ChangeClass(e) { 
    jQuery(this).attr("class", e.data.className);   
}​ 

馬呂斯是正確的,除非你需要的現場活動,你應該使用懸停。

0

難道你不能這樣做嗎?

$("#RunItButton").hover(function(){ 
    $(this).addClass("buttonStyleOver"); 
}, function(){ 
    $(this).removeClass("buttonStyleOver"); 
}); 

或:

$("#RunItButton").mouseover(function(){ 
    $(this).addClass("buttonStyleOver"); 
}).mouseout(function(){ 
    $(this).removeClass("buttonStyleOver"); 
});