+ -
当前位置:首页 → 问答吧 → IE下onclick事件失效

IE下onclick事件失效

时间:2011-09-28

来源:互联网

如题。一个静态页,页面内容有点大,在body里使用了onclick,在IE 8.0 下用不了,就连hover样式也用不了,在谷歌,火狐下都可以使用,什么原因啊。

HTML code

<body onclick="whichElement(event)" onload="down(1,'全市场指标')" style="margin: 0 0 0 0;">

作者: lisweden   发布时间: 2011-09-28

onclick应该是可以触发的
你检查一下whichElement(event),可能是某段脚本不兼容

作者: yuxh81   发布时间: 2011-09-28

引用 1 楼 yuxh81 的回复:

onclick应该是可以触发的
你检查一下whichElement(event),可能是某段脚本不兼容


为什么谷歌,火狐下可以使用

作者: lisweden   发布时间: 2011-09-28

看看whichElement(event)函数里面是不是有ie不支持的方法。。。

作者: BLUE_LG   发布时间: 2011-09-28

引用 2 楼 lisweden 的回复:

引用 1 楼 yuxh81 的回复:

onclick应该是可以触发的
你检查一下whichElement(event),可能是某段脚本不兼容


为什么谷歌,火狐下可以使用

想起来了,ie不是一向用e的么,不是event 事件!!!
详细的上网查查,好多的,,,

作者: BLUE_LG   发布时间: 2011-09-28

event 在IE和火狐下的机制是不一样的
JScript code
function whichElement(event){
  event = event || window.event;//要经过这样兼容 你的代码有么?
}

作者: fanchuanzhidu   发布时间: 2011-09-28

事件函数是这样的写的,有什么问题嘛?但在谷歌,火狐是可以用的。

JScript code


function whichElement(e) {
            var list;
            var str;
            if (!e) var e = window.event;
            if (e.target) targ = e.target;
            else if (e.srcElement) targ = e.srcElement;
            if (targ.nodeType == 3) // defeat Safari bug
                targ = targ.parentNode;
            if (targ.tagName == "TD" && targ.getAttribute("class") == "silvercenter") {
                document.getElementById("chart").style.display = "block";
                list = targ.parentNode;
                for (i = 6; i > 0; i--) {
                    str += list.cells[list.cells.length - i].innerHTML + ",";
                }
                document.getElementById("dataItem").value = str;
                drawChart();
            }


作者: lisweden   发布时间: 2011-09-28

参考了。。

作者: FXQLES   发布时间: 2011-09-28

相关阅读 更多