如何使用循环变量在循环内定义事件处理程序?
for a in [1,2,3]
$('body').click (x) =>
alert a
当我点击正文时,它会提醒 3 三次。我希望它能够提醒 1、2 和 3。
for a in [1,2,3]
$('body').click (x) =>
alert a
It alerts 3 three times when I click the body. I would like it to alert 1, 2, and 3.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我第一次搞砸了语法,但这次做对了:
您需要围绕函数创建一个闭包并立即调用它(就像在 Javascript 中一样)。 Coffeescript 甚至为您提供了一个很好的语法来为您执行此操作... do 关键字:
I screwed up the syntax the first time, but got it right this time:
You need to create a closure around the function and call it immediately (much like you would in Javascript). Coffeescript even gives you a nice syntax to do that for you... the do keyword: