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

您现在不使用它,但是:

  • myElement.onclick=handleButtonClick;如果您将其作为回调提供给事件绑定实用程序(例如),则即使您未声明此参数(事件)也会收到
  • 您的事件处理程序将来可能必须使用该事件,现在声明它更干净

您不必声明它,但这是一个很好的做法

于 2012-10-13T09:03:04.493 回答
0

从函数的名称来看,我假设这是一个附加到您页面上的按钮的单击处理程序。通常,当触发事件时,浏览器会将 Event 对象作为参数传递给事件处理程序。在您的代码中, e 参数将包含此 Event 对象。在您的事件处理程序中,您没有使用传入的 Event 对象,因此可以将其删除。

但是,有时您可能希望使用传入的事件对象。例如:您可能希望在单击按钮时执行某个操作,并在按住键单击按钮时执行不同的操作Ctrl。在这种情况下,您将使用传入的 Event 对象的 ctrlKey 属性来确定要执行的操作。

于 2012-10-13T09:11:34.467 回答