【发布时间】:2011-12-01 23:49:06
【问题描述】:
我最近开始使用 Brunch 玩 Backbone 和 CoffeeScript,我想知道为什么会这样......
events: {
"click .button" : "open",
"hover .info" : "hover"
},
hover: =>
$(this).css("background-color", "#333")
..不起作用。
据我了解,CoffeeScript 有自己的 this 版本,它可能与 jQuery 使用的内容冲突,但在文档中我认为 => 将它绑定到当前对象。我也试过-> 也无济于事。知道为什么这不起作用吗?
HTML:
<div id='outer'>
<div class='.info'> <a href='google.com'> google </a> </div>
<div class='.info'> <a href='google.com'> google </a> </div>
<div class='.info'> <a href='google.com'> google </a> </div>
</div>
【问题讨论】:
-
你看过它生成的 javascript 吗?
-
是的,它返回标准的 $(this).css("background-color", "#333") 这只是普通的 jquery
-
尝试在悬停功能中提醒
this,看看你实际得到了什么。 -
即使它返回有效的 jQuery 代码并不意味着上下文是有效的。
-
我的意思是查看您的语句之前的代码,以了解悬停功能是如何设置的以及
this的值是如何设置的。您可能需要在调试器中单步执行才能查看实际情况。
标签: jquery backbone.js coffeescript