recherche

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

javascript - btn.addEventListener('click',fn,false); Comment passer les paramètres à fn ?

Je l'ai essayé mais il semble que cela ne puisse pas être transmis ? ? ?

我想大声告诉你我想大声告诉你2756 Il y a quelques jours751

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

  • 習慣沉默

    習慣沉默2017-05-18 10:52:06

    Pourquoi tant de gens ne l'aiment pas ? Je pense que c'est un bon problème. La fermeture peut le résoudre

    .
    <button>click</button>
    <script>
        document.querySelector("button").addEventListener("click", fn('hello world'), false);
        
        function fn(a) {
            return function() {
                alert(a);
            }
        }
    </script>

    répondre
    0
  • 黄舟

    黄舟2017-05-18 10:52:06

    Je ne sais pas ce que vous voulez envoyer.

    Mais vous pouvez définir fn comme une fonction qui renvoie une fonction. En gros, répondre aux besoins...

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:52:06

    btn.addEventListener('click',function(){fn('params')});
    function fn(data) {
        alert(data)
    }

    Essayer ça ?

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:52:06

    document.getElementById('aaa').addEventListener('click', fn('asdadad'), false);
    
    function fn(data) {
        console.info(data);
    }

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:52:06

    function foo(a, b, c) {}
    
    // 不要这样做
    setTimeout('foo(1,2, 3)', 1000)
    
    // 可以使用匿名函数完成相同功能
    setTimeout(function() {
        foo(1, 2, 3);
    }, 1000)

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:52:06

    Je n'ai pas trouvé le prototype de fonction de addEventListener. En utilisation quotidienne, j'ai le sentiment que c'est le cas.
    Après avoir capturé l'événement déclencheur, addEventListener ajoute () au nom de la fonction appelante pour appeler .
    puis

    btn.addEventListener('click',fn,false);

    Après que l'événement d'écoute addEventListener de

    capture l'événement de clic, la fonction exécutée est fn()
    addEventListener a l'inconvénient de ne pas pouvoir ajouter de parenthèses avec des paramètres, c'est-à-dire qu'elle Impossible Après avoir capturé le clic, exécutez fn(1,2).
    Donc, généralement, j'utilise une fonction anonyme function(){fn(1,2)} comme fonction de liaison. Ensuite le code devient comme ceci :

    btn.addEventListener('click',function(){fn(1,2)},false)

    Après avoir capturé l'événement de clic, la fonction déclenchée est
    function(){fn(1,2)}()
    pour déclencher fn (1,2 ) Une telle fonction paramétrée.

    Je ne connais pas très bien la fonction addEventListener, bienvenue pour en discuter et me corriger.

    répondre
    0
  • Annulerrépondre