2012-10-13 83 views
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」放入第一行的函數中。據我所知,除了那裏之外,我們沒有使用它?功能括號中項目的用途是什麼?

+3

'e'是一個近似等於'2.7182818284'的歐拉數。它被廣泛用於對數和微積分。您的計算機不知道這個常數,這就是爲什麼將它包含在所有事件處理程序中至關重要的原因。 – Lion

+0

@Lion我不認爲這個評論是非常有幫助的。據推測,你試圖成爲funnny,但你忘了添加其中的一個:http://en.wikipedia.org/wiki/Smiley – user123444555621

+0

@ Pumbaa80 :)如果評論框允許,我可以添加笑臉符號添加它。 – Lion

回答

0

從功能的名稱,我假設這是一個點擊處理程序附加到您的網頁上的按鈕。通常,當事件被觸發時,瀏覽器將Event對象作爲參數傳遞給事件處理程序。在你的代碼中,e參數將包含這個Event對象。在您的事件處理程序中,您不使用傳入的Event對象,因此可以將其刪除。

但是,有時您可能想要使用傳入的事件對象。例如:您可能希望單擊按鈕時執行某個操作,並在按下按鈕Ctrl鍵時單擊該按鈕時執行不同的操作。在這種情況下,您可以使用傳入的Event對象的ctrlKey屬性來確定要執行的操作。

+0

完整代碼在這裏:http://jsfiddle.net/dEHVT/2/ – Imrahil

0

你現在不使用它,但:

  • 這個參數,一個事件,收到即使你不聲明它,如果你將它作爲回調到一個事件綁定的實用程序(例如myElement.onclick=handleButtonClick;
  • 它可能是你的事件處理程序將在未來使用的情況下,它的清潔聲明現在

你不宣佈它,但它是一個很好的做法。

相關問題