2012-02-28 46 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"); 
});