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

Posted 张贤健

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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事件模型

事件传播过程:

以上是关于IE事件模型,如何给IE和非IE浏览器添加事件的主要内容,如果未能解决你的问题,请参考以下文章

自定义JQ事件,对input输入框内容进行实时监听-韩烨

JavaScript添加IE事件处理程序

IE和DOM事件流普通事件和绑定事件的区别

如何挂接IE键盘事件?

addEventListener以及滑轮滑动事件的应用

JavaScript ie如何阻止事件冒泡