onmouseover不工作在chrome,工作直到更新

时间:2014-10-31 12:34:36

标签: javascript google-chrome onmouseover

我在

上通过onmouseover调用了以下函数
    function showTooltip(tip, el, evt) {
    if (document.layers) {
        if (!el.tip) {
            el.tip = new Layer(200);
            el.tip.document.open();
            el.tip.document.write(tip);
            el.tip.document.close();
            el.onclick = function (evt) { this.tip.visibility = 'hide'; };
            el.onmouseout = function (evt) { this.tip.visibility = 'hide'; };
        }
        el.tip.left = evt.pageX;
        el.tip.top = evt.pageY;
        el.tip.visibility = 'show';
    }
    else if (document.all) {
        if (!el.tip) {
            document.body.insertAdjacentHTML('beforeEnd', '<DIV ID="tip' + tc + '" CLASS="tooltip">' + tip + '<\/DIV>');
            el.tip = document.all['tip' + tc++];
            el.onclick = function (evt) { this.tip.style.visibility = 'hidden'; };
            el.onmouseout = function (evt) { this.tip.style.visibility = 'hidden'; };
        }
        el.tip.style.pixelLeft = event.clientX + document.body.scrollLeft - 200
        el.tip.style.pixelTop = event.clientY + document.body.scrollTop + 10
        el.tip.style.visibility = 'visible';
    }
}

电话看起来像;

<img id="ContentPlaceHolder1_DocumentList1_dg_imgNotes_0" onmouseover="javascript:showTooltip('<b>Pages:</b> 1<br><b>Date:</b> 8/7/2014<br><b>Rep ID:</b> 789',this,event);" src="/applications/Images/icons/no-a.bmp" align="absmiddle" style="border-width:0px;">

事件为;

onmouseover="javascript:showTooltip('<b>Pages:</b> 1<br><b>Date:</b> 8/7/2014<br><b>Rep ID:</b> 789',this,event);"

这段代码已经工作了一年多,并且在Firefox和IE中仍能正常运行,但不是Chrome版本38.0.2125.111米。我不是专家,但我觉得声明都很好并且信息传递正常,但是当它命中函数时它只是跳过if(document.layers)和else if(document.all)调试时但是,当在IE中进行调试时,它会进入else if语句,只需查找并呈现完全相同站点的工具提示。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

document.alldocument.layers已过时。它们不再受Chrome支持。