2017-06-02 77 views
1

我試圖運行下面的代碼。當按鈕被點擊時,應該調用傳遞事件作爲參數的函數。但不斷收到錯誤信息。爲什麼它不起作用?未捕獲TypeError:無法讀取未定義屬性'preventDefault'

document.getElementById('a').onclick = saveBookmark(event); 
 

 

 
function saveBookmark(e){ 
 
    e.preventDefault(); 
 
}
<button id = "a" type = "submit">Submit</button>

+0

有很多* *副本包括https://stackoverflow.com/questions/7102413/why-does-click-event-handler-fire-immediately-upon-page-load – meagar

回答

-1

你要通過事件的參考。

document.getElementById('a').onclick = saveBookmark; 
 

 
function saveBookmark(e){ 
 
    e.preventDefault(); 
 
}
<button id = "a" type = "submit">Submit</button>

+0

ki ceee。謝謝! – abc

+0

沒有理由在函數中包裝函數。 '.onclick = saveBookmark;'會工作得很好。 – meagar

+0

@meagar你是對的,我編輯了相應的答案。儘管如此,一些JavaScript新手可能會更容易理解前一版本。 – Strernd

相關問題