Javascriptのイベントライブラリのパッケージ
1797 ワード
ブラウザでは、イベントの操作に対して、互換性は主に
解決策の核心
行列は自分のイベントプールを作って、行列の中に入れます. 自分のイベントプール関数をシステムに結びつけ、自分のイベントプールがイベントを削除すると、対応するシステムがイベント を削除します.
DOM2
レベルのイベントが存在し、標準ブラウザはaddEventListener()
およびremoveEventListener()
を介してイベントおよびバインディングイベントを登録し、下位バージョンのIE
には対応するattachEvent()
およびdetachEvent()
がある.さらに、中に入ってきたイベント行為は、標準的なものはon
を持たず、IE
はon
を有する.次に、イベント処理関数内のthis
が問題点を指す.低バージョンのブラウザはwindow
を指し、標準ブラウザは
を指す.イベントの重複バインディングの問題:低いバージョンのブラウザは繰り返しバインディングを実行します.標準ブラウザは一回だけバインディングを繰り返します.イベントバインディング順序と実行順序の問題:低いバージョンのブラウザはバインディングの順序で実行されず、標準ブラウザはバインディングの順序で実行される.解決策の核心
行列
// , ,
function on(ele,type,fn){
//
if(ele.addEventListener){
ele.addEventListener(type,fn,false);//
}else{ // IE6-8
if(!ele['on'+type]){ // ele
ele['on'+type]=[];
// run
ele.attachEvent('on'+type,function(){
run.call(ele); // run this ele
})
}
// ,
for(var i=0;i