2017-01-09 8 views
-1

JavaScriptで本を購入しました。私は何かを扱うコードを編集するまですべてを理解していた。< IE9JavaScript。 e /イベントの理解

ユーザー名の入力を5文字以上にする簡単な例がある。 これは簡単です。 彼らはイベントを関数に導入しました。

次のコードで

は、私は..私はとの援助を必要とする部品のコメントを含めました

function checkLength(e, minLength) { //I understand parameters, but what is 'e' plugging? 
    var el, elMsg; 

    if (!e) { //So... if event doesn't exist.(IE8) then use window.event? 
    e = window.event; 
    } 
    el = e.target || e.srcElement; //What exactly is the event targeting? 
    elMsg = el.nextSibling; 

    if (el.value.length < minLength) { 
    elMsg.innerHTML = 'Username must be ' + minLength + ' characters or more'; 
    } else { 
    elMsg.innerHTML = ''; 
    } 
} 

var elUsername = document.getElementById('username'); 

if (elUsername.addEventListener) { 
    elUsername.addEventListener('blur', function(e) { //what am i passing? 
    checkLength(e, 5); 
    }, false); 
} else { 
    elUsername.attachEvent('onBlur', function(e) { 
    checkLength(e, 5); 
    }); 
} 
+0

https://developer.mozilla.org/en-US/docs/Web/API/Event – epascarello

+0

* "私は何を渡していますか?" *文字列 ''blur'と関数(' false') 。 –

答えて

1

私はパラメータを理解、しかし差し込むeは何ですか?

eは、イベントハンドラから来て、イベント自体を表します。

イベントが存在しない場合(IE8)、window.eventを使用しますか?

IEの一部のバージョンでは、イベントの処理中にのみ利用可能なglobal eventが使用されます。イベントが関数に渡されない場合は、代わりにIEのグローバルイベントを使用します。

イベントターゲットとは何ですか?

イベントtargetまたはsrcElementが実行されている要素です。ボタンにクリックハンドラーがある場合、これはボタンを参照します。入力に変更ハンドラーまたはブラーハンドラーがある場合、入力エレメントなどを参照します。

私は何を渡していますか?

最初のパラメータは処理するイベントの名前で、2番目のパラメータはイベントを処理する関数です。