Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery关于方法子标记的问题_Javascript_Jquery - Fatal编程技术网

Javascript jQuery关于方法子标记的问题

Javascript jQuery关于方法子标记的问题,javascript,jquery,Javascript,Jquery,我发现在Chrome和IE中插入问题在FF中运行良好 我有下一个改变类名的代码 jQuery(document).on("mouseout", ".buttonStyleOver", { className: "buttonStyle" }, ChangeClass); jQuery(document).on("mouseover", ".buttonStyle", { className: "buttonStyleOver" }, ChangeClass); functio

我发现在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部分(请不要批评它,我知道这是糟糕的风格)

运行它
在IE和Chrome事件中,还将class=“cmRunIt”更改为buttonStyleOver如何修复?
谢谢。

你就不能这样做吗

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


要使您了解问题,请添加console.log:

var el = e.srcElement || e.target;
console.log(el);
您将看到,有时
el
不是您的按钮,而是div!为什么使用e.src元素

尝试:

function ChangeClass(e) {
  jQuery(this).attr("class", e.data.className);        
}​
马吕斯是对的,除非你需要现场直播,否则你应该使用悬停

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