下面的代碼工作完全正常的Chrome和Firefox,但不是在邊緣:微軟邊緣區塊範圍問題
HTML:
<ul>
<li class="listItems">one</li>
<li class="listItems">two</li>
<li class="listItems">three</li>
</ul>
的Javascript:
var listItems = document.querySelectorAll('.listItems');
for (let i = 0; i < listItems.length; i++) {
let element = listItems[i];
element.addEventListener('click', function() {
alert('Clicked on number: ' + i)
});
}
當你點擊在Chrome/Firefox中分別獲得0,1,2的列表項是正確的。在Edge中,您始終獲得相同的數字(超過for循環),這表示程序段作用域不起作用。任何想法Edge有什麼問題或如何解決這個問題?
您也可以在各自的瀏覽器中測試jsFiddle。
這不是塊範圍的問題,但帶有迭代範圍,Edge <14中不支持該範圍。 – zeroflagL
@zeroflagL,這不再是最近版本的Edge中的repros。 – Sampson