首頁  >  文章  >  web前端  >  javascript使用for循環批次註冊的事件不能正確取得索引值的解決方法_javascript技巧

javascript使用for循環批次註冊的事件不能正確取得索引值的解決方法_javascript技巧

WBOY
WBOY原創
2016-05-16 16:25:231179瀏覽

本文實例講述了javascript使用for循環批量註冊的事件不能正確獲取索引值的解決方法。分享給大家供大家參考。具體分析如下:

可能不少朋友會遇到一個問題,那就是當使用for循環批量註冊事件處理函數,然後最後通過事件處理函數獲取當前元素的索引值的時候會失敗,先看一段代碼實例:

複製程式碼 程式碼如下:






腳本之家






     
  • 只有努力奮鬥才會有美好的明天。

  •  
  • 分享互助是進步最大的動力。

  •  
  • 每一天都是新的,要好好珍惜。

  •  
  • 沒有人一開始就是高手,只有努力才有成長的可能

  •  
  • 只有當下的時間是可貴的,下一秒都是虛幻的




在上面的程式碼中,當點擊li元素的時候彈出值總是四,我們本來的想法是,點擊li元素在div中顯示當前li元素的索引值,下面就簡單分析一下其中的原因。原因非常的簡單,當for迴圈執行完畢以後,index的值已經變成四,於是也就出現了上面的現象。
程式碼修改如下:

複製程式碼 程式碼如下:






腳本之家






     
  • 只有努力奮鬥才會有美好的明天。

  •  
  • 分享互助是進步最大的動力。

  •  
  • 每一天都是新的,要好好珍惜。

  •  
  • 沒有人一開始就是高手,只有努力才有成長的可能

  •  
  • 只有當下的時間是可貴的,下一秒都是虛幻的




上面的程式碼實現了我們的要求,當然也可以使用閉包的方式,程式碼如下:

複製程式碼 程式碼如下:






腳本之家






     
  • 只有努力奮鬥才會有美好的明天。

  •  
  • 分享互助是進步最大的動力。

  •  
  • 每一天都是新的,要好好珍惜。

  •  
  • 沒有人一開始就是高手,只有努力才有成長的可能

  •  
  • 只有當下的時間是可貴的,下一秒都是虛幻的




希望本文所述對大家基於javascript的web程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn