javascript - 为什么我无法访问监听器函数内的变量 i ?

标签 javascript

为什么我不能在监听器函数中使用变量 i ?

const myCustomDiv = document.createElement('div');

for (let i = 1; i <= 200; i++) {
  const newElement = document.createElement('p');
  newElement.textContent = 'This is paragraph number ' + i;

  newElement.addEventListener('click', function respondToTheClick(evt) {
    console.log('A paragraph was clicked.'+i);
  });

  myCustomDiv.appendChild(newElement);
}

document.body.appendChild(myCustomDiv);

最佳答案

它对我有用,请检查您的问题是否正确。

const myCustomDiv = document.createElement('div');

for (let i = 1; i <= 200; i++) {
    const newElement = document.createElement('p');
    newElement.textContent = 'This is paragraph number ' + i;

    newElement.addEventListener('click', function respondToTheClick(evt) {
        console.log('A paragraph was clicked.'+i);
        console.log(`the counter at this time was: ${i}`)
    });

    myCustomDiv.appendChild(newElement);
}

document.body.appendChild(myCustomDiv);

关于javascript - 为什么我无法访问监听器函数内的变量 i ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247457/

相关文章:

javascript - 同时执行 JS 函数

javascript - 使用 webpack 5 将 SVG 导入为 React 组件

javascript - 错误无法读取未定义的属性 'updaterCacheDirName'

javascript - 在reducer中使用map函数操作数组

javascript - 使用字符串访问 Javascript 对象

javascript - 通过 <a href> 发送复选框数据

JavaScript 密码验证正则表达式按分组顺序失败

Javascript 使用 GetElementByID 提交 - 在新窗口中打开

javascript - 如何使用 HTML5/phonegap 禁用 GPS

javascript - 如何在 Jquery Mobile 中拖动项目