当前位置:编程学习 > JAVA >>

javascript事件绑定addEventListener,attachEvent

 

为了考虑浏览器的兼容性问题,都需要对浏览器进行类型检测。

 

Java代码 

function addHandler(el, type, fn){ 

        if(window.attachEvent){ 

             //ie事件名称前增加on开头 

             el.attachEvent("on" + type, fn); 

        }else{ 

             //记得加上第三个参数,由于ie下没有事件捕捉,所以ff设置为事件冒泡保持一致 

             el.addEventListener(type, fn, false); 

        } 

 

大多数前端开发中都会找到这样代码,但是从效率上来说还需要进一步考虑,这样在每次绑定时候都需要判断一次,其实在第一次调用的时候就已经知道浏览器的类型。

Java代码 

function addHandler(el, type, fn){ 

        if(window.attachEvent){ 

             //ie事件名称前增加on开头 

            addHandler =function(el, type, fn){ 

                 el.attachEvent("on" + type, fn); 

            }  

        }else{ 

             //记得加上第三个参数,由于ie下没有事件捕捉,所以ff设置为事件冒泡保持一致 

             addHandler = function(type, fn, false){ 

                 el.addEventListener(type, fn, false); 

            } 

        } 

       addHandler(type, fn, false); //第一次调用 

 

在第一次调用以后的绑定方法就不需要每次都判断类型了,这样减少了重复的类型判断。

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,