首頁 web前端 js教程 JavaScript在for迴圈中綁定事件解決事件參數不同的情況_javascript技巧

JavaScript在for迴圈中綁定事件解決事件參數不同的情況_javascript技巧

May 16, 2016 pm 05:03 PM
for迴圈 綁定事件

有時候要對回應一堆相似的事件,但是每個事件的參數都不同,一開始還以為挺簡單的,用個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會成為函數的局部變數
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼用php實現求100以內的奇數 怎麼用php實現求100以內的奇數 Dec 23, 2022 pm 06:54 PM

實現步驟:1、使用for語句控制範圍來遍歷1~100的數字,語法「for ($i = 1; $i <= 100; $i++) {迴圈體程式碼}」;2、在迴圈體中,利用if語句和「%」運算子取得並輸出奇數即可,語法「if($i % 2 != 0){echo $i." ";}」。

PHP中for迴圈的執行順序是什麼 PHP中for迴圈的執行順序是什麼 Sep 22, 2021 pm 06:24 PM

執行順序:1、執行“初始化表達式”;2、執行“條件判斷表達式”,如果表達式的值為真,則執行“循環體”,否則結束循環;3、執行完循環體後,執行「變數更新表達式」;4.變數更新後,進入下一次循環,直到條件判斷值為假,結束循環。

mysql有for循環嗎 mysql有for循環嗎 Mar 30, 2023 pm 08:26 PM

mysql沒有for循環,MySQL是不支援for循環語句的,只支援WHILE、REPEAT和LOOP三種循環語句,MySQL提供循環語句,讓您可以根據條件重複執行一個SQL程式碼區塊。

使用jQuery實作select元素的值改變事件綁定 使用jQuery實作select元素的值改變事件綁定 Feb 24, 2024 am 08:51 AM

jQuery是廣泛使用的JavaScript庫,用於簡化在網頁上進行DOM操作、事件處理、動畫效果等操作。在網頁開發中,經常需要對頁面元素進行事件綁定,而綁定select選項的改變事件是常見的需求之一。本文將介紹如何使用jQuery來綁定select選項改變事件,並提供具體的程式碼範例。 1.引入jQuery庫首先,在HTML文檔的

如何使用Python中的for循環 如何使用Python中的for循環 Oct 25, 2023 pm 12:18 PM

如何使用Python中的for迴圈Python是一種簡單易用的程式語言,其中的for迴圈是非常常用的工具之一。透過使用for循環,我們可以循環遍歷一系列的數據,進行有效的處理和操作,提高程式碼的效率。下面,我將透過具體的程式碼範例,介紹如何使用Python中的for迴圈。基本的for迴圈語法在Python中,for迴圈的語法如下:for變數in可迭代物件:

JS迴圈學習:for迴圈語句的使用(範例詳解) JS迴圈學習:for迴圈語句的使用(範例詳解) Aug 03, 2022 pm 06:45 PM

在先前的文章《JS循環學習:while循環語句的使用(示例詳解)》中,我們簡單了解了while 循環和do while 循環,而今天再來介紹一種循環——for 循環語句,希望對大家有所幫助!

Go 處理大數組:使用 for range 還是 for 迴圈? Go 處理大數組:使用 for range 還是 for 迴圈? Jul 24, 2023 pm 02:47 PM

我們知道,Go 的語法比較簡潔。它並沒有提供類似 C 支援的 while、do...while 等循環控制語法,而僅保留了一種語句,即 for 迴圈。

如何使用C語言中的for迴圈將陣列中的偶數和奇數分開? 如何使用C語言中的for迴圈將陣列中的偶數和奇數分開? Aug 25, 2023 pm 03:09 PM

數組是一組以單一名稱儲存的相關資料項。例如intStudent[30];//student是一個數組名,包含單一變數名的30個資料項集合數組的操作搜尋-用於查找特定元素是否存在排序-它有助於排列數組中的元素按升序或降序排列。遍歷-它按順序處理數組中的每個元素。插入-它有助於在數組中插入元素。刪除-它有助於刪除數組中的元素。數組中的元素。在陣列中找出偶數的邏輯如下-for(i=0;i<size;i++){  if(a[i]%2==0){ 

See all articles