JSイベント処理関数

1288 ワード

(a) ele.onxxx=function{}互換性が良く、同じ要素の同じイベントに1回バインドされ、HTML行間thisがDOM要素(b)objを指すのとほぼ同じである.addEventListener(イベントタイプ、処理関数、false)同一オブジェクト同一イベントバインド複数の処理関数thisはdom要素IE 9以下互換性(c)IE固有関数objを指す.attachEvent('on'+イベントタイプ、処理関数)thisはwindowを指します
addEvent関数のカプセル化、イベント処理関数のバインド、各ブラウザの互換性
function addEvent(elem,type,handle){    //elem dom    type    handle       
    if(elem.addEventListener){
        elem.addEventListener(type,handle,false);
    }else if(elem.attachEvent){
        elem.attachEvent('on'+type,function(){
            handle.call(elem);          // this  dom  
        })
    }else{
        elem['on'+type] = handle;
    }
}