2017-06-02 24 views
1

Ich versuche, den folgenden Code auszuführen. Es soll eine Funktion aufrufen, die das Ereignis als Parameter weitergibt, wenn auf die Schaltfläche geklickt wird. Jedoch immer Fehlermeldung erhalten. Warum funktioniert es nicht?Uncaught TypeError: Kann die Eigenschaft 'preventDefault' von undefined nicht lesen

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

 

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

+0

Es gibt viele * * Duplikate einschließlich https://stackoverflow.com/questions/7102413/why-does-click-event-handler-fire-immediately-upon-page-load – meagar

Antwort

-1

Sie haben die Referenz der Veranstaltung zu übergeben.

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

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

+0

ki ceee. Vielen Dank! – abc

+0

Es gibt keinen Grund, eine Funktion in eine Funktion zu integrieren. '.onclick = saveBookmark;' wird gut funktionieren. – meagar

+0

@meagar du hast Recht, ich habe die Antwort entsprechend bearbeitet. Einige sehr neue Javascript können die frühere Version leichter verstehen, obwohl. – Strernd

Verwandte Themen