firefox、IE对JavaScript中this的不同解释
2012-01-05 09:52
435 查看
执行如下程序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="myHtml" >
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
</style>
<script type="text/javascript">
window.onload = function(){
var div = document.getElementById("divid");
if(window.attachEvent)
div.attachEvent("onclick",func);
else if(window.addEventListener)
div.addEventListener("click",func,false);
function func(){
alert(this.id);
}
func();
}
</script>
</head>
<body>
<div id="divid">点我</div>
</body>
</html>
页面加载后 firefox和ie输出的都是undefined,而点击“点我”之后,firefox输出的是divid,ie输出的还是undefined。
要使ie中也能输出divid,则要使用div.onclick=func;
即把
if(window.attachEvent)
div.attachEvent("onclick",func);
else if(window.addEventListener)
div.addEventListener("click",func,false);
改成
div.onclick=func;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="myHtml" >
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
</style>
<script type="text/javascript">
window.onload = function(){
var div = document.getElementById("divid");
if(window.attachEvent)
div.attachEvent("onclick",func);
else if(window.addEventListener)
div.addEventListener("click",func,false);
function func(){
alert(this.id);
}
func();
}
</script>
</head>
<body>
<div id="divid">点我</div>
</body>
</html>
页面加载后 firefox和ie输出的都是undefined,而点击“点我”之后,firefox输出的是divid,ie输出的还是undefined。
要使ie中也能输出divid,则要使用div.onclick=func;
即把
if(window.attachEvent)
div.attachEvent("onclick",func);
else if(window.addEventListener)
div.addEventListener("click",func,false);
改成
div.onclick=func;
相关文章推荐
- css和javascript在IE和Firefox中二十三个不同点
- css和javascript在IE和Firefox中二十三个不同点
- IE与Firefox对width的不同解释及解决办法
- css和javascript在IE和Firefox中二十三个不同点
- Javascript在IE和FireFox中的不同表现简析
- IE和Firefox在JavaScript语法上不同的7个方面
- Javascript在IE和FireFox中的不同表现
- Javascript在IE和FireFox中的不同表现
- Javascript在IE和FireFox中的不同表现
- JavaScript在IE与Firefox几个写法不同的地方
- JavaScript在firefox和ie中使用的几个不同
- IE与Firefox在JavaScript上的7个不同句法
- (转)ie与firefox对节点childNode的不同解释。
- IE和Firefox在javascript语法上不同的7个方面
- JavaScript在IE和FireFox中的不同表现
- IE与Firefox对网页代码的不同解释(转载)
- Javascript在IE和FireFox中的不同表现
- IE与Firefox在JavaScript上的7个不同写法小结
- css和javascript在IE和firefox中的23个不同点
- IE和Firefox下javascript的一点不同