2017-02-05 14 views
0

基本的な質問です。以下のようなイベントリスナーを作成し、パラメータをeとすると、となりますか?私がそれを理解すれば、そのイベントオブジェクトの名前だけが正しいでしょうか?addEventListenerの関数パラメータ

document.getElementById('theId').addEventListener('submit', function(e) { 
    e.preventDefault(); 
}) 

次にこの例はどうですか?この場合、イベントは名前なしでオブジェクトを作成しますか?

document.getElementById("myBtn").addEventListener('submit', function(){ 
    alert("Hello World!"); 
}); 

答えて

2

パラメータ電子が起こったイベントとなり、はい電子は名前だけです。あなたはあなたが望む任意の名前を付けることができます。

イベントには独自のプロパティがあり、そのうちの1つは「タイプ」なので、発生したイベントを知ることができます。この例では、そのタイプは「クリック」です。これは、それがリスンしているためです。イベント「提出」は発射される。この例

document.addEventListener("click", function(myEvent){ 
 
    console.log(myEvent); 
 
});
<p>Click anywhere.</p>

2

テイクの外観は、与えられた関数が最初の引数としてイベントオブジェクトで呼び出されます。

あなたは

document.getElementById("myBtn").addEventListener('submit', function(someEvent){ 
    someEvent.preventDefault(); 
}); 

を好きなようにあなたは、パラメータに名前を付けていけない場合、あなたはまだ引数のオブジェクトの上にアクセスすることができ、それに名前を付けることができます。

document.getElementById("myBtn").addEventListener('submit', function(){ 
    arguments[0].preventDefault(); 
}); 

これは、配列のように動作しますが、引数のarguments.pop

詳しい情報などの機能がhere

オブジェクトをサポートしていません。
関連する問題