javascript - Bagaimana untuk lulus secara dinamik dalam fungsi parameter untuk addEventListener?
phpcn_u1582
phpcn_u1582 2017-05-18 10:50:01
0
5
748

Terdapat jawapan yang tidak diterima pakai untuk "Xiaoxiao Yuxie", yang juga berguna, tetapi saya belum tahu penggunaan khusus let lagi. Maaf, saya benar-benar mahu mengambil dua anak angkat.

Hasilnya pasti
klik butang1 alert(3)
klik butang2 alert(3)

Cara mengubah suai kod untuk membuat
klik butang1 alert(1)
klik butang2 alert(2)

Saya rasa masalah ini agak serupa dengan masalah penutupan klasik iaitu settimeout, tetapi saya tidak dapat memikirkan sebarang penyelesaian.

Sila beri saya nasihat.

phpcn_u1582
phpcn_u1582

membalas semua (5)
phpcn_u1582
function myclick(i){ return function(){ alert(i) }

Parameter kedua dihantar ke myclick(i)

    PHPzhong

    Simpan parameter dalam atribut setiap elemen butang.
    atau guna let

      我想大声告诉你

      Selepas mengklik butang, dapatkan atribut dalam data-info

        曾经蜡笔没有小新

        Jquery secara amnya mengendalikan DOM Semasa rendering, ia biasanya disambungkan ke DOM dalam format data-*, dan kemudian ia diperoleh dan kemudian digunakan $(this).attr(key)

        .
          过去多啦不再A梦

          Tukar var kepada let

          window.onload = function () { for (let i = 1; i < 3; i++) { document.getElementById('myButton' + i) .addEventListener('click', () => { myClick(i) }) } }
            Muat turun terkini
            Lagi>
            kesan web
            Kod sumber laman web
            Bahan laman web
            Templat hujung hadapan
            Tentang kita Penafian Sitemap
            Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!