张贤健的个人网站

很宅,没有朋友约又不愿意一个人待在家;不会修电脑;游戏技能点停留在连连看前几关;不会把技术挂在嘴边;不爱穿格子衬衫;没能力轻易开发各种软件。我不是大神,只是程序员中的小学生!

IE事件模型,如何给IE和非IE浏览器添加事件

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>IE事件模型</title>
    </head>
    <body>
        <input type="button" value="Event对象"/>
        <p>事件传播过程:</p>
        <script>
            window.onload=function(){
                var btn=document.getElementsByTagName("input")[0];
                var p=document.getElementsByTagName("p")[0];
                var i=1;
                do{
                    if(btn.addEventListener)
                    {
                        btn.addEventListener("click",function(){
                            p.innerHTML+="<br/>("+ i++ +") "+this.nodeName;
                        },false);
                    }
                    else
                    {
                        btn.attachEvent("onclick",(function(btn){
                            return function(){        //返回闭包函数,从而动态锁定响应事件的当前对象
                                p.innerHTML+="<br/>("+ i++ +") "+btn.nodeName;
                            }
                        })(btn));                        //直接调用函数,以便向内部传递当前绑定元素对象
                    }
                    btn=btn.parentNode;
                }while(btn);
            }
        </script>
    </body>
</html>

 

IE事件模型

事件传播过程:

posted @ 2016-07-02 19:13  张贤健  阅读(353)  评论(0编辑  收藏  举报