我发现在Chrome和IE中插入问题的FF运行良好
我有下一个更改类名
的代码 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部分(请不要批评我知道这是不好的风格)
<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事件中还将 class =“cmRunIt ”更改为buttonStyleOver如何解决?
感谢。
答案 0 :(得分:1)
为了让您了解您的问题,请添加console.log:
var el = e.srcElement || e.target;
console.log(el);
你会看到有些时候el
不是你的按钮而是div!为什么使用e.srcElement?
尝试:
function ChangeClass(e) {
jQuery(this).attr("class", e.data.className);
}
marius是对的,除非你需要直播活动,否则你应该使用悬停。
答案 1 :(得分:0)
$("#RunItButton").hover(function(){
$(this).addClass("buttonStyleOver");
}, function(){
$(this).removeClass("buttonStyleOver");
});
或:
$("#RunItButton").mouseover(function(){
$(this).addClass("buttonStyleOver");
}).mouseout(function(){
$(this).removeClass("buttonStyleOver");
});