js循环遍历添加监听

<button>测试1</button>
<button>测试2</button>
<button>测试3</button>
<script>
var btns = document.getElementsByTagName('button')
for (var i = 0, len = btns.length; i < len; i++) {
  var btn = btns[i]
  btn.onclick = function () {
    alert('第' + i + 1 + '个') // 都是第四个 //i使用的是全局变量
  }
}

var btns = document.getElementsByTagName('button')
for (var i = 0, len = btns.length; i < len; i++) {
  var btn = btns[i]
  // 将btn所对应的下标保存在btn上
  btn.index = i
  btn.onclick = function () {
    alert('第' + this.index + 1 + '个') // 这种可以
  }
}

var btns = document.getElementsByTagName('button')
for (var i = 0, len = btns.length; i < len; i++) {
  (function(i) {
    var btn = btns[i]
    btn.onclick = function () {
      alert('第' + i + 1 + '个') // 这种也可以
    }
  })(i)
}
</script>

posted on 2020-09-11 10:12  家有糖果  阅读(615)  评论(0)    收藏  举报

导航