<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          js動態(tài)綁定事件,無法使用for循環(huán)中變量i的問題

          2020-07-20 01:13

          ?

          小閆語錄:我一直在幻想,那些偉大的預(yù)言家都來自未來,那些暢銷小說家都是真實經(jīng)歷過...

          ?

          每天不是在寫 bug,就是在解 bug 的路上~更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

          1.問題描述

          在一個 for 循環(huán)中,我動態(tài)給一堆 a 標簽綁定 onclick 事件時,發(fā)現(xiàn)點擊事件不正確。如下代碼:

          var?link?=?document.getElementsByClassName("link");
          for?(var?i?=?0;?i???link[i].onclick?=?function()?{
          ????alert(i);
          ??};
          }

          我需要的是,點擊第一個鏈接,彈出 0,點擊第二個鏈接,彈出 1......以此類推。但是上述代碼點擊每一個鏈接總是彈出一個值,而且還是個不正常的值。之所以說它不正常,是因為上面我獲取到了 5 個標簽,正常下標應(yīng)該到 4 結(jié)束,但是總是彈出 5 ????

          答:那是因為事件函數(shù)是一個匿名函數(shù),此函數(shù)會在 for 循環(huán)執(zhí)行之后調(diào)用。調(diào)用時,發(fā)現(xiàn)內(nèi)部沒有定義變量 i ,所以就去外面找一下,發(fā)現(xiàn)外層有,就取外層的值了,但是為什么是 5 呢?那是因為 for 循環(huán)的結(jié)束條件是 i 不滿足 i<5 ,那么結(jié)束后變量 i 的值就是 5,匿名函數(shù)到外層取值正好取到了它。更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

          2.解決方法

          可以采用自定義屬性的方式:

          var?link?=?document.getElementsByClassName("link");
          for?(var?i?=?0;?i???link[i].index?=?i;
          ??link[i].onclick?=?function()?{
          ????alert(this.index);
          ??};
          }
          };
          //微信公眾號:全棧技術(shù)精選



          82dafa82940df2c9417281fb9a503212.webp

          a24b6d95dfadceda3b4d8d4904737ae8.webp

          76fc0d5e1df81ead66f1c185d126c266.webp

          7e5ddc49295ba1056280639a5153b0fa.webp

          f686c813cc8e1bd66e306d4be813372f.webp

          d7cb4f02a15414f0783321b953169474.webp

          a4e7a64b4cb00366bacf10d28d500b3b.webp

          794127001fe11e8fd8c44a2c329dc7ab.webp

          2196f89a817b6aaf72b7e361a8e29965.webp



          307c3f8c46fe23935e2da3af61bb6393.webp


          排版:小閆

          圖片素材:小閆

          文案:小閆

          長按掃描下方二維碼即刻關(guān)注小閆


          6a319244df8b310902c4a200dfc9128b.webp509a85543f9c163bd697a2dff3ed84be.webp



          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品成人国产乱 | 黑人超逼视频 | 久久久久久久久久久熟女爽 | 欧美一级黄色大片 | 一级A一级闪射免费播放 |