Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 Internet Explorer 11中的背景色粘贴_Javascript_Jquery_Css_Hover_Internet Explorer 11 - Fatal编程技术网

Javascript Internet Explorer 11中的背景色粘贴

Javascript Internet Explorer 11中的背景色粘贴,javascript,jquery,css,hover,internet-explorer-11,Javascript,Jquery,Css,Hover,Internet Explorer 11,起初,我试图这样做:将鼠标悬停在div元素上会改变背景颜色。我只是用简单的CSS实现了这一点。它在Chrome和我检查过的一些早期IE版本中工作。但在IE 11中,当我的鼠标离开div时,悬停的背景色保持不变 然后我使用jQuery在hover上添加了一个类,在mouseleave上删除了这个类,在CSS文件中,我将hover背景颜色与这个类关联起来。我使用console.log检查它是否正确地存在于这些部分中,并且它们也存在,但是removeClass'class-name'由于某种原因实际上

起初,我试图这样做:将鼠标悬停在div元素上会改变背景颜色。我只是用简单的CSS实现了这一点。它在Chrome和我检查过的一些早期IE版本中工作。但在IE 11中,当我的鼠标离开div时,悬停的背景色保持不变

然后我使用jQuery在hover上添加了一个类,在mouseleave上删除了这个类,在CSS文件中,我将hover背景颜色与这个类关联起来。我使用console.log检查它是否正确地存在于这些部分中,并且它们也存在,但是removeClass'class-name'由于某种原因实际上并没有删除IE 11中的类

我试图使用setClass和classList.remove/add,但无法删除添加的类。尽管console.log显示我在代码中就可以做到这一点

因此,我尝试,而不是添加/删除一个类,只需在jQuery中使用悬停事件直接更改背景颜色,如$'div.target'.css'background-color','color'。前两次都是这样。悬停时,它更改为悬停背景色,然后离开时,它更改为其他颜色。但是,我不能再次在div上悬停以恢复悬停颜色


关于可能导致这些问题的怪癖的任何提示或知识?

以下代码段使用JQuery mouseleave和mouseenter来执行背景颜色更改。与IE9+一起工作

HTML

JQuery

您是否尝试使用.blur函数{};而不是.mouseleavefunction{}?
<div class="myDiv myDiv-red">

</div>
.myDiv-red
{
    background-color : red;
}

.myDiv-green
{
    background-color : green;
}
$(function() {
    $(".myDiv").mouseenter(function() {
       $(this).removeClass("myDiv-red").addClass("myDiv-green");
    });

    $(".myDiv").mouseleave(function() {
       $(this).removeClass("myDiv-green").addClass("myDiv-red"); 
    });
});