javascript en cliquant sur
世界只因有你
世界只因有你 2017-05-19 10:20:56
0
3
623

J'ai rencontré un tel problème lors de l'écriture de JS aujourd'hui :

function init() {
        var btn = document.getElementById('sort-btn');
        btn.onclick = btnHandle();
    }

Ce qui précède est ma partie de code JS. Faites attention ici, la deuxième phrase de la fonction init, btn.onclick = btnHandle();
Mon intention initiale est de cliquer sur le bouton et d'exécuter la fonction btnHandle, mais la situation réelle est la suivante. après avoir actualisé la page, btnHandle La fonction est exécutée directement.
Ensuite, j'ai changé le code en ceci

function init() {
        var btn = document.getElementById('sort-btn');
        btn.onclick = btnHandle;
    }

Après avoir supprimé le () dans l'instruction btn.onclick = btnHandle();, le code s'exécute normalement comme je le pensais.
Pourquoi est-ce ? btnHandle et btnHandle()

世界只因有你
世界只因有你

répondre à tous(3)
漂亮男人

btn.onclick accepte une fonction, qui représente l'exécution de cette fonction lorsque btn est cliqué, et votre btnHandle() représente l'exécution de cette fonction, donnant btn .onclick est sa valeur de retour, bien sûr elle est exécutée en premier. btn.onclick接受一个函数,代表当 btn 被点击的时候执行这个函数,而你的btnHandle()代表了执行这个函数,给 btn.onclick的是他的返回值,当然就先执行了。

下面的写法就代表着,当 btn.onclick 时,执行 btnHandle

L'écriture suivante signifie que lorsque btn.onclick, exécutez la fonction btnHandle. #🎜🎜#
世界只因有你

btn.onclick = btnHandle();Ce code signifie attribuer le résultat de l'exécution à l'événement de clic

PHPzhong

Cela signifie que lorsque vous actualisez la page, la fonction init sera exécutée, et après l'exécution de la fonction init, lorsque onclick est lié
Cette ligne de code btn.onclick = btnHandle();#🎜 🎜#équivaut à exécuter la méthode btnHandle puis la valeur de retour de la méthode est attribuée à btn.onclick.
Et btn.onclick = btnHandle;
est équivalent à btn.onclick = function(){xxxxx};
C'est-à-dire que la référence de la variable btnHandle est affectée à btn.onclick #🎜🎜 #Ainsi, lorsque l'événement click est déclenché, la méthode fonction représentée par btnHandle sera exécutée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal