原文:js動態循環綁定事件的變量問題

在編寫JS的時候我們經常會遇到要對一系列元素進行事件綁定,循環對元素的事件進行賦值,在這個過程中我們會遇到一個問題,那就每個元素事件運行的時候變量怎么都是相同的值。 這里涉及到變量的作用域的問題,可以用閉包來解決這個問題。 這里舉個簡單的列子來說明: lt ul id ulDemo gt lt li gt 數據 lt li gt lt li gt 數據 lt li gt lt li gt 數據 l ...

2014-08-29 14:42 0 3903 推薦指數:

查看詳情

JS動態事件綁定問題

今天搞一個連環套的動態選項展示,需要給下拉框動態綁定事件,誰知綁定中出現問題,總是執行第一次綁定的時間而后續綁定事件沒有被觸發。   注意兩個動態綁定,其實很簡答的知識,綁定事件前要清除舊事件,因為js默認不覆蓋,這些都是學過的,就是不出錯get不到啊。   改為: ...

Thu Aug 30 18:00:00 CST 2018 0 1485
js循環綁定事件

首先看這段代碼: 這段代碼如果不仔細看的話會誤以為三個按鈕點擊結果分別為0,1,2。但是運行結果卻是3,3,3。 我們來分析一下代碼執行過程:前三遍循環分別給按鈕0,1,2綁定了alert(i)的事件,第四遍循環開始時i=3,不符合i<=2的條件 ...

Mon Aug 24 05:04:00 CST 2015 0 8132
js循環綁定事件

js循環綁定事件js中,用循環來為一個元素隊列的元素綁定事件,是一個常見的問題。 通常進入誤區的新人,都會理想當然地這么寫代碼: (假設元素隊列為o,默認使用jQuery) //error method var o =$('.blockHead'); for(var i ...

Fri Aug 22 18:39:00 CST 2014 0 2796
js在for循環綁定事件

本來想着直接通過js代碼來點擊事件時讓div的寬度變化然后寫了如下的代碼 但是無論如何點擊都一下子顯示完全部的寬度; 然后網上通過很久查找網上的資料改成如下: 就能夠顯示出我想要的效果了; 縱觀這樣的代碼現象,才明白是因為閉包的問題,上圖中的變量i直接引用了父函數中的i,所以在循環 ...

Tue Mar 21 03:54:00 CST 2017 0 2661
JS 循環綁定click事件

一、問題場景:    綁定事件有一個坑----總是綁定最后一個元素 二、解決: 1、第一種   第一種方法:編寫一個function,在這個function中返回一個函數 :   其中.get(0)指的是將jQuery對象轉為DOM對象。 ...

Fri Jul 31 23:33:00 CST 2020 0 618
js動態綁定click事件時function傳參問題

今天碰到了這樣一個問題,我在javascript中動態創建了一個button, 然后我想給改button添加click事件綁定的function想要傳入一個變量參數, 一開始我想直接通過函數傳參傳進來,然而不知道為什么,click事件無法正常響應, 最后發現可以這么做,將需要傳入的參數加入 ...

Sat Oct 22 23:31:00 CST 2016 0 8053
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM