1

これを見てください:

addEventListener("mouseover", function(e){..code..},false);

次のように書くことができます

function mouseover(e){ ... }
addEventListener('mouseover', mouseover, false);

そのため、参照されたばかりでパラメーターが渡されていない場合でも、ここでマウスオーバー関数はイベントオブジェクトを受け取ります。おそらく addeventlistener 関数は、次のように参照/匿名のすべての関数を実行すると思います。

....
suppose like this
function addeventlistner (a,b,c){
b(e);
}

なぜ私はこれを求めているのですか?

e が addeventlistner function のどこから来たのか理解できませんfunction (e) {...code...}

私が理解しているように、addeventlistner のこの 2 番目のパラメーターは、ターゲット オブジェクトまたは関数のいずれかです。イベントオブジェクトが渡されます。関数が渡されたオブジェクトで何かを実行できることは理にかなっています。オブジェクトは、渡されたこのイベントオブジェクトで何をしますか。

この理由は、関数が addeventlistner から e を取得し、上記と同様に、e.msg、e.data、および e.cmd..... などのプロパティを使用するいくつかのサンプル コードを理解しようとしていたためです。彼らがどこから来たのか見当もつかない。

それらは Event オブジェクトのプロパティですか? 見つからない!

4

1 に答える 1

1

イベント リスナーを追加すると、追加する関数には、イベントの種類 (クリック、スクロールなど) に応じてイベント オブジェクトが渡されます。

http://www.w3schools.com/jsref/dom_obj_event.asp

window.addEventListener("click", function(event) {
    alert(event.pageX + ", " + event.pageY);
}, false);
// same as
window.addEventListener("click", function(e) {
    alert(e.pageX + ", " + e.pageY);
}, false);

パラメータ名は、イベント オブジェクトを表す任意の名前にすることができます。

編集イベント オブジェクトのすべてのプロパティと関数を一覧表示します。

window.addEventListener("click", function(event) {
    var all = "";
    for(var prop in event) {
        all += prop + " : " + event[prop] + "\n";
    }
    alert(all);
}, false);
于 2013-06-17T18:09:38.047 に答える