原生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);
    }
}
相關文章
相關標籤/搜索