首頁 > web前端 > js教程 > 主體

淺談JS閉包中的循環綁定處理程序_基礎知識

WBOY
發布: 2016-05-16 16:31:48
原創
1434 人瀏覽過

前幾天工作中寫前端js程式碼時,遇到了遍歷元素給它添加點擊事件。就是這個問題讓我整整調了一個下午。最後還是下班回家,上網查資料才知道怎麼解決的。 (PS:之前也在《jQuery基礎教程》第四版中看過講循環綁定處理程序的內容,當時估計也沒怎麼用心看,所以沒記起來。)
  大神要是知道這類情況,可以關掉窗口,寫這些主要是給像我一樣的小白看的。謝謝!

  先貼上錯誤的例子讓大家看看。 (例子裡面用到jQuery,請導入jQuery函式庫)

複製程式碼 程式碼如下:

ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">

  
  循環綁定處理程序
  
  


  
  
  
  



 
  這段程式碼運行之後,點選按鈕,彈出的alert中顯示資料幾呢,我之前一直認為按鈕1到按鈕4,對應的alert中的數字也是1到4。要是你也這樣想,那就錯了。
  點擊每個按鈕,alert中都是顯示數字4,沒想到吧!
  現在寫幾種解決方案,共大家參考 !
  第一種、寫一個function,在這個function中回傳一個函數

複製程式碼 程式碼如下:


  第二種、使用立即呼叫函數表達式
  (function(value){
    //程式碼區塊
  })(i)//這就是立即呼叫函數表達式

複製程式碼 程式碼如下:


   第三種、使用jQuery的each函數

複製程式碼 程式碼如下:


  使用上面三種情況,就可以避免一開始那個情況了。
  其中get(0)指的是將jQuery物件轉為DOM物件。

以上就是個人對JS閉包中的循環綁定處理程序的理解,分享給大家,希望能對小夥伴們有所幫助

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板