原生js获取标签,绑定事件

//功能:绑定事件(兼容浏览器)
//参数:
//obj:绑定事件的元素对象(节点对象)
//eventName:事件名,不包括"on" 该参数类型:字符串;
//funName:函数名;  该参数类型:函数对象(不是字符串);

function addEventListener1601(obj,eventName,funName){
    var str = window.navigator.userAgent;
    if(str.indexOf("MSIE")!=-1){//IE
        obj.attachEvent("on"+eventName,funName);
    }else{//非IE;
        obj.addEventListener(eventName,funName,false);
    }
}

//封装一个函数,
//功能:获取元素;
//函数名叫$;
//参数只有一个,是字符串类型
    //当参数值为"div"时,该函数获得的是标签名为 div的所有元素
    //当参数值为"#divId",时,该函数获得的是id为divId的元素,
    //当参数值为".divClassName",时,该函数获得的是class为divClass的所有元素,
    //当参数值为"name=abc"时,该函数获得的是name属性为 abc的所有元素;

function $(str){
    var firstChar = str.charAt(0);
    if(firstChar=="#"){
        return document.getElementById(str.substring(1));
    }else if(firstChar=="."){
        return document.getElementsByClassName(str.substring(1));
    }else{
        var temp = str.substring(0,5);
        if(temp=="name="){
            return document.getElementsByName(str.substring(5));
        }else{
            return document.getElementsByTagName(str);
        }
    }
}
    

//封装一个函数,功能:给若干个元素对象绑定同一个函数。
//函数名叫addEvents;
//参数:对象数组,事件名(不含on),函数;

function addEvents(objArr,eventName,funName){
    for(var i=0;i<objArr.length;i++){
        addEventListener1601(objArr[i],eventName,funName);
    }
}
原文地址:https://www.cnblogs.com/ahu666/p/6838604.html