【问题标题】:Javascript onmouseover doesn't trigger in IEJavascript onmouseover 不会在 IE 中触发
【发布时间】:2019-11-18 00:50:15
【问题描述】:

我创建了一个 javascript 函数来显示菜单按钮。这些按钮由一个 div 容器组成,向上时为透明背景,向下时为图像背景。我无法在 IE 中工作的唯一一件事就是翻转。我已经尝试过 css 伪类悬停以及使用 onmouseover 和 onmouseout 更改样式。我也尝试过更改为 onmouseenter 和 onmouseleave。我尝试过的一切在 FF 和 Chrome 中都可以正常工作,但在 IE 中无法正常工作。我的代码如下:

function createOSDbutton(btn_N, btn_I, btn_L, btn_D) // (Div Name, Tab Index, Button Text, Page To Load)
{
var btnN = top.frames['buttonbar'].document.getElementById(btn_N);

btnN.style.cssText = "display:block; cursor:pointer; padding-left:16px; padding-top:5px;";
btnN.setAttribute("onClick", btn_D);
btnN.setAttribute("onMouseOver", "this.style.color='black'");
btnN.setAttribute("onMouseOut", "this.style.color='white'");
btnN.setAttribute("tabindex", btn_I);
btnN.innerHTML = btn_L;
}

按钮在正文中通过 onload 呈现。每个按钮的行如下所示:

createOSDbutton("button01", 1, "Customer Login", "parent.frames['content'].location.href='./custlogin/custlogin.asp';");

HTML 如下所示:

<div id="button01" class="osdmenu b1 myriad"></div>

CSS 看起来像这样:

div.osdmenu {background-color:transparent; font-size:9pt; width:201px; height:30px; vertical-align:middle; padding-left:16px; padding-top:5px;}
.myriad {font-family: "myriad", arial, helvetica, sans-serif;}
div.b1  {position:absolute;top:120px; }

【问题讨论】:

    标签: javascript internet-explorer onmouseover


    【解决方案1】:

    不要使用.setAttribute() 来设置DOM 元素的属性。正如您所发现的,IE 会感到困惑。

    btnN.onclick = btn_D;
    

    您的处理程序也必须是函数,而不仅仅是代码的 sn-ps:

    btnN.onmouseover = function() { this.style.color='black'; };
    

    【讨论】:

      【解决方案2】:

      您正在使用setAttribute 设置属性,这在 IE 中不起作用。

      btnN.onclick = btn_D;
      btnN.onmouseover = function () { this.style.color='black'; };
      btnN.onmouseout = function () { this.style.color='white'; };
      btnN.tabindex = btn_I;
      

      另外,请确保您为btn_D 传递函数,因为事件处理程序必须是函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-20
        • 1970-01-01
        • 1970-01-01
        • 2019-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多