recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment transmettre dynamiquement une fonction paramétrée à addEventListener?

Il existe une réponse non adoptée à "Xiaoxiao Yuxie", qui est également utile, mais je ne connais pas encore l'utilisation spécifique de let. Désolé, je veux vraiment en adopter deux.

Le résultat est définitivement
cliquez sur le bouton1, alerte(3)
cliquez sur le bouton2,alerte(3)

Comment modifier le code pour créer une alerte
cliquez sur le bouton 1 (1)
cliquez sur l'alerte bouton2 (2)

Je pense que ce problème est un peu similaire au problème de fermeture classique de settimeout, mais je ne trouve aucune solution.

S'il vous plaît, donnez-moi quelques conseils.

phpcn_u1582phpcn_u15822756 Il y a quelques jours835

répondre à tous(5)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-18 10:52:01

    function myclick(i){
        return function(){
             alert(i)
        }

    Le deuxième paramètre est passé à myclick(i)

    répondre
    0
  • PHPz

    PHPz2017-05-18 10:52:01

    Enregistrez les paramètres dans les attributs de chaque élément du bouton.
    ou laissez

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-18 10:52:01

    <button id='myButton1' data-info='abc'></button> Après avoir cliqué sur le bouton, obtenez les attributs dans les données-info du bouton

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:52:01

    Jquery exploite généralement le DOM lors du rendu, il est généralement épissé sur le DOM au format data-*, puis il est obtenu puis utilisé $(this).attr(key)

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-18 10:52:01

    Changer var pour laisser

     window.onload = function () {
          for (let i = 1; i < 3; i++) {
            document.getElementById('myButton' + i)
              .addEventListener('click', () => {
                myClick(i)
              })
          }
        }

    répondre
    0
  • Annulerrépondre