JavaScript在for循环中分配点击处理程序

JavaScript在for循环中分配点击处理程序,第1张

JavaScript在for循环中分配点击处理程序

在Javascript 中的循环中创建闭包是一个常见的错误。您需要具有以下某种回调函数:

function createCallback( i ){  return function(){    alert('you clicked' + i);  }}$(document).ready(function(){  for(var i = 0; i < 20; i++) {    $('#question' + i).click( createCallback( i ) );  }});

由于这个问题仍然受到关注,并且ES6也越来越受欢迎,因此我建议使用一种现代的解决方案。如果您编写ES6,则可以使用

let
关键字,它使
i
变量在循环本地而不是全局

for(let i = 0; i < 20; i++) {  $('#question' + i).click( function(){    alert('you clicked ' + i);  });}

它更短,更容易理解。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5060166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存