+ -
当前位置:首页 → 问答吧 → 火狐和IE下JS兼容问题,火狐下出错

火狐和IE下JS兼容问题,火狐下出错

时间:2011-12-12

来源:互联网

以下是代码,以前在网上找的一个select弹出层选择 option的代码,在IE下有效,在火狐下 点击后没反应

在错误控制台里 提示 oInput is null

求解






window.onload = function ()
{
var oDemo = document.getElementById("demo");
var oInput = document.getElementById("UnderWrite");
var oDropbox = document.getElementById("dropbox");
var aA = oDropbox.getElementsByTagName("a");
var oClose = document.getElementsByTagName("em")[0];
alert(oInput);
var i = 0;
oInput.onclick = function (event)
{
$("#dropbox").fadeIn(200);
oDropbox.style.top = oDemo.offsetHeight + "px";
oDropbox.style.left = oInput.offsetLeft + "px";
oDropbox.style.width = oInput.clientWidth - 10 + "px";
(event || window.event).cancelBubble = true;
};
for (i = 0; i < aA.length; i++)
{
aA[i].onclick = function (event)
{
oInput.value = this.innerHTML;
$("#dropbox").fadeOut(200);
// (event || window.event).cancelBubble = true; //取消变量累加
};
}
oDropbox.onclick = function (event)
{
(event || window.event).cancelBubble = true;
};
document.onclick = oClose.onclick = function ()
{
$("#dropbox").fadeOut(200);
};
};


作者: Parole   发布时间: 2011-12-12

UnderWrite 注意大小写,ie下getElementById忽略大小写,而火狐里不忽略
如果用jquery,那就用纯粹一点。
JScript code

$('#UnderWrite').click(function(){
    //....
});

作者: zswang   发布时间: 2011-12-12

var oInput = document.getElementById("UnderWrite");
检查一下是否有id为UnderWrite元素?

还有 不管什么浏览器都必须考虑大小写问题

作者: oggmm   发布时间: 2011-12-12

引用 2 楼 oggmm 的回复:

var oInput = document.getElementById("UnderWrite");
检查一下是否有id为UnderWrite元素?

还有 不管什么浏览器都必须考虑大小写问题

+1

作者: zsx841021   发布时间: 2011-12-12