suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie übergebe ich eine parametrisierte Funktion dynamisch an addEventListener?

Es gibt eine nicht übernommene Antwort auf „Xiaoxiao Yuxie“, die ebenfalls nützlich ist, aber ich kenne die spezifische Verwendung von let noch nicht. Entschuldigung, ich möchte wirklich zwei adoptieren.

Das Ergebnis ist definitiv
Klick-Button1-Alarm(3)
Klick-Button2-Alarm(3)

So ändern Sie den Code, um einen
Klick-Button1-Alarm(1)
Klick-Button2-Alarm(2)

auszulösen

Ich habe das Gefühl, dass dieses Problem ein wenig dem klassischen Abschlussproblem von settimeout ähnelt, aber mir fällt keine Lösung ein.

Bitte geben Sie mir einen Rat.

phpcn_u1582phpcn_u15822755 Tage vor831

Antworte allen(5)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-18 10:52:01

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

    第二个参数传myclick(i)

    Antwort
    0
  • PHPz

    PHPz2017-05-18 10:52:01

    把参数保存在每个button元素的属性里。
    或者用let

    Antwort
    0
  • 我想大声告诉你

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

    <button id='myButton1' data-info='abc'></button> 点击按钮后,获得button的属性data-info中的属性

    Antwort
    0
  • 曾经蜡笔没有小新

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

    jquery一般来说就是操作DOM,渲染的时候拼接在dom上一般是data-*的格式,然后获取出来再用$(this).attr(key)

    Antwort
    0
  • 过去多啦不再A梦

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

    将var 改为 let 即可

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

    Antwort
    0
  • StornierenAntwort