在JS的開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到這種問(wèn)題,我們想要的效果是鼠標(biāo)劃過(guò)哪個(gè)<li>就獲取哪個(gè)</li>的下標(biāo),可結(jié)果卻一直是“4”。

看似沒(méi)有問(wèn)題的代碼卻偏偏不按照自己的思維走,這樣的原因是onmouseover調(diào)用事件函數(shù)時(shí),i已經(jīng)在for循環(huán)里面循環(huán)完,已經(jīng)成為了4。下面列出三種解決方法:
、One

這種方法是最長(zhǎng)使用的方法,原理就是利用了JS的閉包。
、Two

此方法是用了一個(gè)自定義屬性,完美解決!
、Three

傳參,處理頁(yè)面多個(gè)事件時(shí)可是使用此方法!