Window.onload के साथ भ्रम

मैं सिर्फ इस पुस्तक को एक पुस्तक से चिपकाता हूं:

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

समस्या यह है कि जब मैं पृष्ठ लोड करता हूं तो चेतावनी तब दिखाई देती है जब मैं बटन पर क्लिक नहीं करता। क्या कोई है?

धन्यवाद!

0
जोड़ा
विचारों: 1

1 उत्तर

परिवर्तन

butसेवा मेरेn.onclick = handleButसेवा मेरेnClick();

सेवा मेरे

butसेवा मेरेn.onclick = handleButसेवा मेरेnClick;

(() के बिना।)

Your original line, butसेवा मेरेn.onclick = handleButसेवा मेरेnClick(); calls the handleButसेवा मेरेnClick function and then assigns its return value सेवा मेरे butसेवा मेरेn.onclick. It's exactly like

var a = foo();

...which calls foo and then assigns its return value सेवा मेरे a.

You don't want सेवा मेरे do that, you just want सेवा मेरे assign the function reference सेवा मेरे onclick. So you refer सेवा मेरे the function by its name, without calling it (so, without the ()).

0
जोड़ा