javascript - Wie übergebe ich eine parametrisierte Funktion dynamisch an addEventListener?
phpcn_u1582
phpcn_u1582 2017-05-18 10:50:01
0
5
812

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_u1582
phpcn_u1582

Antworte allen(5)
phpcn_u1582
function myclick(i){
    return function(){
         alert(i)
    }

第二个参数传myclick(i)

PHPzhong

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

我想大声告诉你

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

曾经蜡笔没有小新

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

过去多啦不再A梦

将var 改为 let 即可

 window.onload = function () {
      for (let i = 1; i < 3; i++) {
        document.getElementById('myButton' + i)
          .addEventListener('click', () => {
            myClick(i)
          })
      }
    }
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage