zoukankan      html  css  js  c++  java
  • js 中事件的学习

    在IE和W3C中的事件处理函数是不一样的

    有dom0级方法和dom2级方法,而且有意思的我发现了一个问题

    <button id="btn">按钮</button>
    var button=document.getElementById('btn');
    var button=document.querySelector("#btn");//最新的javascript api
    button.onclick=function(){
        alert(this); //在W3C 下指向button 标签 //在IE 也指向了button 标签  dom 的0级方法
    }
    var hander=function(){
       alert(this); //在W3C指向了button 按钮标签,在IE中指向了object window
    };
    button.addEventListener("click",hander,false);   // ----->在W3C 的事件处理函数
    button.removeEventListener('click',hander,false); // 移除事件
    button.attachEvent("onclick",hander);//在IE下的window 添加事件
    button.detachEvent("onclick",hander); // 在IE下移除事件
    跨浏览器处理事件 dom 的0级方法和dom2级方法 和IE的事件处理函数
    var EventUtil={
        addHandler:function(element,type,handler){
            if(element.addEventListener){
                element.addEventListener(type,handler,false);
            }else if(element.attachEvent){
                element.attachEvent("on"+type,handler);
            }else{
                element["on"+type]=handler;
            }
        },
        removeHandler:function(element,type,handler){
            if(element.removeEventListener){
                element.removeEventListener(type,handler,false);
            }else if(element.detachEvent){
                element.detachEvent("on"+type,handler);
            }else{
                element["on"+type]=null;
            }
    
        }
    };
    var handler=function(){
        alert(this);
    };
    //EventUtil.addHandler(button,'click',handler);//这时候在w3c和IE下的this 都指向了button 求解
  • 相关阅读:
    vue 跨域访问http
    vue 生命周期小结
    koa的教程
    spoj104 HIGH
    loj2026 「JLOI / SHOI2016」成绩比较
    loj2024「JLOI / SHOI2016」侦查守卫
    loj2016 「SCOI2016」美味
    loj2014 「SCOI2016」萌萌哒
    loj2013 「SCOI2016」幸运数字
    loj2012 「SCOI2016」背单词
  • 原文地址:https://www.cnblogs.com/jifengdehao/p/5684804.html
Copyright © 2011-2022 走看看