0
function handleButtonClick(e) {
var textInput = document.getElementById("songTextInput");
var songName = textInput.value;
//alert("Adding " + songName);

if (songName == "") {
    alert("Please enter a song");
}
else {
    //alert("Adding " + songName);
    var li = document.createElement("li");
    li.innerHTML = songName;
    var ul = document.getElementById("playlist");
    ul.appendChild(li);

    // for Ready Bake
    save(songName);
}
}

このコードでは、最初の行にとどまる関数に「e」を入れる理由です。私が見る限り、そこ以外は使用していませんか?

4

2 に答える 2

0

関数の名前から、これはページ上のボタンに関連付けられたクリック ハンドラーであると推測できます。通常、イベントがトリガーされると、ブラウザーは Event オブジェクトを引数としてイベント ハンドラーに渡します。コードでは、e 引数にこの Event オブジェクトが含まれます。イベント ハンドラーでは、渡された Event オブジェクトを使用していないため、これを削除できます。

ただし、渡されたイベント オブジェクトを使用したい場合もあります。たとえば、ボタンをクリックすると特定のアクションを実行し、Ctrlキーを押したままボタンをクリックすると別のアクションを実行することができます。この場合、渡された Event オブジェクトの ctrlKey プロパティを使用して、実行するアクションを決定します。

于 2012-10-13T09:11:34.467 に答える
0

あなたは今それを使用していませんが:

  • このパラメーター (イベント) は、イベント バインディング ユーティリティへのコールバックとして提供すると、宣言しなくても受信されます (例: myElement.onclick=handleButtonClick;)
  • 将来、イベント ハンドラーがイベントを使用する必要がある可能性があります。今宣言する方がクリーンです。

宣言する必要はありません、宣言することをお勧めします。

于 2012-10-13T09:03:04.493 に答える