Rumah hujung hadapan web tutorial js JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧

JavaScript在for循环中绑定事件解决事件参数不同的情况_javascript技巧

May 16, 2016 pm 05:03 PM
untuk gelung Peristiwa yang mengikat

有时候要对响应一堆相似的事件,但是每个事件的参数都不同,一开始还以为挺简单的,用个for循环不就得了,结果发现,额,都是使用了最后一个参数。。。

上网查资料!!!结果大神说用闭包解决

代码:

复制代码 代码如下:

for(var i=0;ibtns[i].onclick=(function(i){
return function(){alert(i)}
})(i)
}

大概原因是直接用btns[i].onclick=function(){alert(i)}时,JavaScript引擎会先将for循环里的代码执行完,

当用户出发onclick事件时,JavaScript会寻找i,结果会找到运算完成之后的i,也就是10

但是用闭包处理的话,i会成为函数的局部变量
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana menggunakan php untuk mencari nombor ganjil dalam 100 Bagaimana menggunakan php untuk mencari nombor ganjil dalam 100 Dec 23, 2022 pm 06:54 PM

Langkah pelaksanaan: 1. Gunakan julat kawalan pernyataan untuk merentasi nombor dari 1 hingga 100, sintaksnya ialah "untuk ($i = 1; $i <= 100; $i++) {kod badan gelung}"; badan gelung, Hanya gunakan pernyataan if dan operator "%" untuk mendapatkan dan mengeluarkan nombor ganjil Sintaksnya ialah "if($i % 2 != 0){echo $i."

Apakah perintah pelaksanaan untuk gelung dalam PHP Apakah perintah pelaksanaan untuk gelung dalam PHP Sep 22, 2021 pm 06:24 PM

Urutan pelaksanaan: 1. Jalankan "ungkapan permulaan"; 2. Laksanakan "ungkapan penghakiman bersyarat". body, jalankan "Ungkapan kemas kini pembolehubah"; 4. Selepas pembolehubah dikemas kini, masukkan gelung seterusnya sehingga nilai penghakiman syarat adalah palsu, menamatkan gelung.

Adakah mysql mempunyai gelung for? Adakah mysql mempunyai gelung for? Mar 30, 2023 pm 08:26 PM

MySQL tidak mempunyai gelung for. MySQL tidak menyokong penyataan gelung Ia hanya menyokong tiga penyataan gelung: WHILE, REPEAT dan LOOP menyediakan penyataan gelung, membolehkan anda melaksanakan blok kod SQL berulang kali.

Gunakan jQuery untuk melaksanakan pengikatan peristiwa perubahan nilai bagi elemen terpilih Gunakan jQuery untuk melaksanakan pengikatan peristiwa perubahan nilai bagi elemen terpilih Feb 24, 2024 am 08:51 AM

jQuery ialah perpustakaan JavaScript yang digunakan secara meluas yang digunakan untuk memudahkan manipulasi DOM, pengendalian acara, kesan animasi dan operasi lain pada halaman web. Dalam pembangunan web, selalunya perlu untuk mengikat acara pada elemen halaman, dan mengikat acara perubahan pilihan pilihan adalah salah satu keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengikat acara perubahan pilihan pilihan dan memberikan contoh kod tertentu. 1. Perkenalkan perpustakaan jQuery terlebih dahulu, dalam dokumen HTML

Pembelajaran gelung JS: penggunaan penyataan untuk gelung (contoh terperinci) Pembelajaran gelung JS: penggunaan penyataan untuk gelung (contoh terperinci) Aug 03, 2022 pm 06:45 PM

Dalam artikel sebelumnya "JS Loop Learning: The Use of While Loop Statements (Contoh Terperinci)", kami mempelajari secara ringkas tentang while loops dan do while loops, dan hari ini kami akan memperkenalkan satu lagi gelung - penyataan untuk gelung berguna kepada semua orang.

Cara menggunakan for loop dalam Python Cara menggunakan for loop dalam Python Oct 25, 2023 pm 12:18 PM

Cara menggunakan gelung for dalam Python Python ialah bahasa pengaturcaraan yang ringkas dan mudah digunakan, dan gelung for ialah salah satu alatan yang paling biasa digunakan. Dengan menggunakan untuk gelung, kami boleh menggelung melalui satu siri data, melaksanakan pemprosesan dan operasi yang berkesan serta meningkatkan kecekapan kod. Di bawah, saya akan memperkenalkan cara menggunakan gelung for dalam Python melalui contoh kod tertentu. Asas untuk sintaks gelung Dalam Python, sintaks a for gelung adalah seperti berikut: untuk pembolehubah dalam objek boleh lelaran:

Mengendalikan tatasusunan besar dalam Go: gunakan untuk julat atau untuk gelung? Mengendalikan tatasusunan besar dalam Go: gunakan untuk julat atau untuk gelung? Jul 24, 2023 pm 02:47 PM

Kami tahu bahawa sintaks Go adalah agak ringkas. Ia tidak menyediakan sintaks kawalan gelung seperti while, do...while, dsb. disokong oleh C, tetapi hanya mengekalkan satu pernyataan, gelung for.

Bagaimana untuk memisahkan nombor genap dan ganjil dalam tatasusunan menggunakan gelung dalam bahasa C? Bagaimana untuk memisahkan nombor genap dan ganjil dalam tatasusunan menggunakan gelung dalam bahasa C? Aug 25, 2023 pm 03:09 PM

Tatasusunan ialah sekumpulan item data berkaitan yang disimpan di bawah satu nama. Contohnya intStudent[30];//student ialah nama tatasusunan, himpunan 30 item data yang mengandungi nama pembolehubah tunggal Carian operasi tatasusunan - digunakan untuk mencari sama ada unsur tertentu wujud pengisihan - ia membantu menyusun elemen dalam tatasusunan dalam tertib menaik atau Susun mengikut tertib menurun. Traversal - Ia memproses setiap elemen dalam tatasusunan secara berurutan. Sisipan - Ia membantu untuk memasukkan elemen dalam tatasusunan. Padam - Ia membantu dalam memadam elemen daripada tatasusunan. elemen dalam tatasusunan. Logik mencari nombor genap dalam tatasusunan adalah seperti berikut - for(i=0;i<size;i++){ if(a[i]%2==0){

See all articles