http://younglab.blog.51cto.com/416652/248263
- <!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>attachEvent和addEventListener的区别</title>
- <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>attachEvent和addEventListener的区别</title>
- <script type="text/javascript">
- window.onload = function(){
- var div = document.getElementById("divid");
- if(window.attachEvent)
- div.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>
1111