Javascript div:hover在IE-8中工作异常

Javascript div:hover在IE-8中工作异常,javascript,css,internet-explorer-8,excel,vba,Javascript,Css,Internet Explorer 8,Excel,Vba,我知道这可能是荒谬的,你可能会说你为什么要发明轮子,但这是我目前正在做的一个实验,它将帮助我在未来的项目中,目前它对我来说完全没有财务利润 整个概念是: 我在Excel vba中编写了一段代码,它打开了IE的一个实例,允许我将java脚本代码附加到网页的内容中并执行它(这是Firefox Greasemonkey的一个新的、不可比较的副本)。到目前为止,我们取得了成功 我的java脚本代码在页面右下角添加了一个菜单,它基本上是一个窄条,但当鼠标进入它时,它的outerHTML会变成: <

我知道这可能是荒谬的,你可能会说你为什么要发明轮子,但这是我目前正在做的一个实验,它将帮助我在未来的项目中,目前它对我来说完全没有财务利润

整个概念是:

  • 我在Excel vba中编写了一段代码,它打开了IE的一个实例,允许我将java脚本代码附加到网页的内容中并执行它(这是Firefox Greasemonkey的一个新的、不可比较的副本)。到目前为止,我们取得了成功

  • 我的java脚本代码在页面右下角添加了一个菜单,它基本上是一个窄条,但当鼠标进入它时,它的outerHTML会变成:

    <DIV style="FILTER: alpha(opacity=95); WIDTH: 450px; HEIGHT: 250px" id=alwaisible>
        <DIV id=dummy onmouseenter=menuButton() onmouseleave=menuButton()>
            <DIV id=MenuButton>_</DIV>
            <DIV id=MenuTitle>Ikariam Assistant</DIV>
            <DIV id=MenuBody>
                <DIV id=MenuBar>
                    <DIV class=MenuChoices onclick=Choice(1)>Location</DIV>
                    <DIV class=MenuChoices onclick=Choice(2)>innerHtml</DIV>
                    <DIV class=MenuChoices onclick=Choice(4)>Call App</DIV>
                    <DIV class=MenuChoices onclick=Choice(5)>Extra 1</DIV>
                    <DIV class=MenuChoices onclick=Choice(0)>Extra 2</DIV>
                    <DIV class=MenuChoices onclick=Choice(0)>Extra 3</DIV>
                    <DIV class=MenuChoices onclick=Choice(0)>Extra 4</DIV>
               </DIV>
               <DIV style="HEIGHT: 161px" id=MenuRest>Nothing for now!</DIV>
           </DIV>
       </DIV>
    </DIV>
    
现在的问题是,当我浏览不同的站点时,每当鼠标光标进入其中一个菜单项时,我总是会改变鼠标光标,但只有在某个特定站点背景颜色会改变,,其余时间只有在我连续两到三次单击某个选项时才会改变颜色,就好像是为:visted伪类设置了背景更改!我目前的IE版本是8


知道问题出在哪里吗?

据我所知,只有特定的html标记可以使用:hover in IE8。像“a”这样的东西会起作用,而div则不会


有关更多信息,请参见此

IE8是否处于标准模式?正确的Doctype等可以解释问题。所有缺少的引号是怎么回事?请注意,使div可单击并使用光标指针将a)不适用于屏幕阅读器,b)不会使项目成为制表位,因此不会进行键盘导航。不太容易访问谢谢你的评论到目前为止我不知道如何确定IE8是否处于标准模式,因此如果你让我知道如何检查,我将不胜感激。至于我提到的缺少的引号,整个菜单是通过java脚本创建的,并附加到页面的DOM中,因此它看起来与您在代码中看到的完全一样。目前我不关心菜单的可访问性,但感谢您的通知。问题是菜单的行为因我浏览的页面而异。问题是为什么会这样。以及为什么大多数时候类会部分影响页面。在那个特定的站点中,他们在页面/CSS样式中包含了什么,使类能够正确工作。IE6就是这样(
a
,我相信表单元素)。IE8在标准模式下应该可以,但在怪癖模式下可能不行。我的:hover类可以工作,但问题是它只是改变了指针,而不是背景颜色!?
.MenuChoices{ 
    border: outset 2px #C7B581;
    color:#FFFFFF;
    background-color: #403924;
    margin: 2px 0px 0px 2px;
    float : left ;
    display : block ;
    width : 82px ;
    text-align : center ;
    z-index : 5001 ;
}
.MenuChoices:hover{
    background-color:#456789 !important;
    cursor: pointer;
}