オン(この問題とTRS [i])とループの実行順序のためのJavaScriptのクロージャ

 
.over { 
    背景:赤。
} 
の.out { 
    背景:白; 
} 

VARのTRS = document.getElementsByTagName( "TR")。
用(VAR i = 0; I <trs.length; iは++){ 
    TRS [I] .onmouseover =関数(){ 
        this.className = "上"; 
    }。
   TRS [i]は.onmouseout =関数(){ 
        this.className = "アウト"。
    } 
}

 

実際には、各TRSのためのループの処理は、[I]アクションは、メモリにループ全体を実行するようにするために、(){}機能を実行しない、のonmouseoverと二つの結合イベントONMOUSEOUT行うので、私れますサイズが等しい長さを有します

 

各行は二つの事象の性質を結合するので、物事が起こるので、そのマウスは、行のトリガされたとき:

この時点自体のライントリガイベント、関数実行

 

注:これが書かれていない場合はTRSイベントは関数が最初に変数iに行くが、私は長さのメモリにあったこの時間なので、ここではこれを書くことになるトリガーされるので、[i]は、結果は、未定義です。

 

イベントやプロセスの結合方法を実行するためには、次の例を見ることができます:

機能テスト(){
     VARの温度=10
     VAR I=0;iは<5はiは{++)
        ドキュメントgetElementByIdを "P" +I).onclick =関数(){
            アラートTEMP)。
        }
    }
    温度=20
}
テスト();

 

一時を見つけるポップアップたちがイベントをクリックすると、結合イベントがトリガされたループのためだけに実行されたアクションを証明する20の代わりに、10、でクリックして、この時間は、温度の値は、すでに20です。(この例では、他のブロガーを見ることです)

 

おすすめ

転載: blog.csdn.net/xiao_Ray/article/details/81146600