最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript使用for循環(huán)批量注冊的事件不能正確獲取索引值的解決方法

 更新時間:2014年12月20日 11:26:04   投稿:shichen2014  
這篇文章主要介紹了javascript使用for循環(huán)批量注冊的事件不能正確獲取索引值的解決方法,對比分析了出現(xiàn)問題的代碼與修改后的代碼,并給出了采用閉包實(shí)現(xiàn)的方法,具有一定的參考借鑒價值,需要的朋友可以參考下

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

可能不少朋友會遇到一個問題,那就是當(dāng)使用for循環(huán)批量注冊事件處理函數(shù),然后最后通過事件處理函數(shù)獲取當(dāng)前元素的索引值的時候會失敗,先看一段代碼實(shí)例:

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://m.fzitv.net/" />
<title>腳本之家</title>
<style type="text/css">
li{
  width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  height:30px;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var oLis=document.getElementsByTagName("li");
  var oshow=document.getElementById("show");
  for(var index=0;index<oLis.length;index++){
    oLis[index].onclick=function(){
      oshow.innerHTML=index;
    }
  }
}
</script>
</head>
<body>
<div id="show"></div>
<ul>
  <li>只有努力奮斗才會有美好的明天。</li>
  <li>分享互助是進(jìn)步最大的源動力。</li>
  <li>每一天都是新的,要好好珍惜。</li>
  <li>沒有人一開始就是高手,只有努力才有成長的可能</li>
  <li>只有當(dāng)下的時間是可貴的,下一秒都是虛幻的</li>
</ul>
</body>
</html>

在上面的代碼中,當(dāng)點(diǎn)擊li元素的時候彈出值始終是四,我們本來的想法是,點(diǎn)擊li元素在div中顯示當(dāng)前l(fā)i元素的索引值,下面就簡單分析一下其中的原因。原因非常的簡單,當(dāng)for循環(huán)執(zhí)行完畢以后,index的值已經(jīng)變?yōu)樗?,于是也就出現(xiàn)了上面的現(xiàn)象。
代碼修改如下:

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://m.fzitv.net/" />
<title>腳本之家</title>
<style type="text/css">
li{
  width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  height:30px;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var oLis=document.getElementsByTagName("li");
  var oshow=document.getElementById("show");
  for(var index=0;index<oLis.length;index++){
    oLis[index]._index=index;
    oLis[index].onclick=function(){
      oshow.innerHTML=this._index;
    }
  }
}
</script>
</head>
<body>
<div id="show"></div>
<ul>
  <li>只有努力奮斗才會有美好的明天。</li>
  <li>分享互助是進(jìn)步最大的源動力。</li>
  <li>每一天都是新的,要好好珍惜。</li>
  <li>沒有人一開始就是高手,只有努力才有成長的可能</li>
  <li>只有當(dāng)下的時間是可貴的,下一秒都是虛幻的</li>
</ul>
</body>
</html>

上面的代碼實(shí)現(xiàn)了我們的要求,當(dāng)然也可以使用閉包的方式,代碼如下:

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://m.fzitv.net/" />
<title>腳本之家</title>
<style type="text/css">
li{
  width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  height:30px;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var oLis=document.getElementsByTagName("li");
  var oshow=document.getElementById("show");
  for(var index=0;index<oLis.length;index++){
    (function(index){
      oLis[index].onclick=function(){
        oshow.innerHTML=index;
      }
    })(index)
  }
}
</script>
</head>
<body>
<div id="show"></div>
<ul>
  <li>只有努力奮斗才會有美好的明天。</li>
  <li>分享互助是進(jìn)步最大的源動力。</li>
  <li>每一天都是新的,要好好珍惜。</li>
  <li>沒有人一開始就是高手,只有努力才有成長的可能</li>
  <li>只有當(dāng)下的時間是可貴的,下一秒都是虛幻的</li>
</ul>
</body>
</html>

希望本文所述對大家基于javascript的web程序設(shè)計有所幫助。

相關(guān)文章

  • JS原生數(shù)據(jù)雙向綁定實(shí)現(xiàn)代碼

    JS原生數(shù)據(jù)雙向綁定實(shí)現(xiàn)代碼

    本文通過實(shí)例代碼給大家介紹了JS原生數(shù)據(jù)雙向綁定問題,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-08-08
  • 微信小程序使用npm包的方法步驟

    微信小程序使用npm包的方法步驟

    這篇文章主要介紹了微信小程序使用npm包的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 瀏覽器檢測JS代碼(兼容目前各大主流瀏覽器)

    瀏覽器檢測JS代碼(兼容目前各大主流瀏覽器)

    這篇文章主要介紹了瀏覽器檢測JS代碼,兼容目前各大主流瀏覽器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JS+CSS實(shí)現(xiàn)下拉列表框美化效果(3款)

    JS+CSS實(shí)現(xiàn)下拉列表框美化效果(3款)

    這篇文章主要介紹了JS+CSS實(shí)現(xiàn)美化的下拉列表框效果,涉及javascript針對下拉列表框樣式的相關(guān)操作技巧,三款下拉菜單簡單大方,需要的朋友可以參考下
    2015-08-08
  • JavaScript中的全局屬性與方法深入解析

    JavaScript中的全局屬性與方法深入解析

    這篇文章主要給大家介紹了關(guān)于JavaScript中全局屬性與方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • javascript學(xué)習(xí)總結(jié)之js使用技巧

    javascript學(xué)習(xí)總結(jié)之js使用技巧

    本篇文章給大家分享javascript學(xué)習(xí)總結(jié)之js使用技巧,都是精華喔~小伙伴快來學(xué)習(xí)吧。
    2015-09-09
  • JS實(shí)現(xiàn)顏色梯度與漸變效果完整實(shí)例

    JS實(shí)現(xiàn)顏色梯度與漸變效果完整實(shí)例

    這篇文章主要介紹了JS實(shí)現(xiàn)顏色梯度與漸變效果,結(jié)合完整實(shí)例形式分析了js顏色漸變所涉及的數(shù)學(xué)運(yùn)算與頁面樣式動態(tài)操作相關(guān)技巧,需要的朋友可以參考下
    2016-12-12
  • 微信小程序圖片選擇區(qū)域裁剪實(shí)現(xiàn)方法

    微信小程序圖片選擇區(qū)域裁剪實(shí)現(xiàn)方法

    本篇文章主要介紹了微信小程序圖片選擇區(qū)域屏裁剪實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • js實(shí)現(xiàn)可旋轉(zhuǎn)的立方體模型

    js實(shí)現(xiàn)可旋轉(zhuǎn)的立方體模型

    這里給大家分享的是通過js腳本來控制頁面中的正方體轉(zhuǎn)動特效,用戶可以點(diǎn)擊按鈕向右轉(zhuǎn)動,也可以向下轉(zhuǎn)動,結(jié)合自己的需求控制即可。效果非常棒,這里推薦給大家
    2016-10-10
  • 使用html2Canvas打印高清PDF的原理解析

    使用html2Canvas打印高清PDF的原理解析

    這篇文章主要為大家詳細(xì)介紹了如何使用html2Canvas打印高清PDF的效果,文中的示例代碼講解詳細(xì),具有一定的參考價值,需要的可以了解一下
    2023-07-07

最新評論

黄陵县| 洛南县| 大方县| 云南省| 嘉善县| 竹北市| 固安县| 聊城市| 广州市| 荆州市| 马关县| 泰宁县| 固阳县| 新邵县| 丁青县| 松原市| 武宣县| 济南市| 玉环县| 池州市| 施秉县| 金秀| 恩平市| 吉林市| 绩溪县| 永寿县| 年辖:市辖区| 安化县| 交城县| 亳州市| 铜陵市| 卢氏县| 彭州市| 长岭县| 兴国县| 扎鲁特旗| 兰溪市| 章丘市| 天门市| 宜州市| 成都市|