【发布时间】:2014-06-09 09:13:42
【问题描述】:
我正在尝试在 Coffeescript 中对一组对象的关联元素启动事件侦听器。它就像我正在做的那样工作,但是 JSHint (正确地)抱怨在循环中创建一个函数。
我玩了一些,但我没有找到解决办法。我总是可以禁用该错误消息,但它的存在是有原因的。任何想法如何在循环内没有匿名函数的情况下实现这一目标?
bindHover = (obj) ->
for obj in objArray
if obj.el
do () -> bindIt(obj)
bindIt = (obj) ->
obj.el.addEventListener('mouseenter', (event) -> obj.on() )
obj.el.addEventListener('mouseleave', (event) -> obj.off() )
我只尝试过do bindIt(obj),但在第一个 obj 之后它就崩溃了。
如果你需要测试一些想法,我为它设置了一个 JSBin,http://jsbin.com/qimor/2/edit
【问题讨论】:
标签: javascript coffeescript closures jshint