您的位置:首页 > Web前端 > JavaScript

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: