Confuzie cu fereastra

Tocmai am copiat acest pic dintr-o carte:

window.onload = init;
function init() {
var button = document.getElementById("addButton");
button.onclick = handleButtonClick();
}
function handleButtonClick() {
alert("Button has been clicked");
}

Problema este că alerta apare atunci când încărc pagina, nu când fac clic pe buton. Vrea cineva de ce?

Mulțumiri!

0

1 răspunsuri

Schimbare

butlan.onclick = handleButlanClick();

la

butlan.onclick = handleButlanClick;

(Fără () ).

Your original line, butlan.onclick = handleButlanClick(); calls the handleButlanClick function and then assigns its return value la butlan.onclick. It's exactly like

var a = foo();

...which calls foo and then assigns its return value la a.

You don't want la do that, you just want la assign the function reference la onclick. So you refer la the function by its name, without calling it (so, without the ()).

0
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com