11

在 JS 我有

$("#index").on({
  click : function() { // do something useful with $(this)....}
},"li.superclass");

我如何用 CoffeeScript 来描述这一点?

4

3 回答 3

11

这几乎是一样的:

$("#index").on click: ->
  alert ("hi")
, "li.superclass"
于 2012-09-20T10:33:46.010 回答
4

我的这就是你想要的:

$("#index").on 
    click:->
        alert "hi"
    "li.superclass"

但我认为这更清楚:

events = 
    "click":->
        alert "hi"
$("#index").on events, "li.superclass"
于 2012-09-20T14:18:08.947 回答
1

如果您需要在处理程序中使用this/ @,我认为您正在寻找类似 CoffeeScript 的胖箭头之类的东西,它会this为您重新绑定......

$('#index').on 'click', => alert(@)

请注意,您需要使用off删除处理程序,否则它可能不会被垃圾收集。Backbone 0.9 引入了一个listenTo功能,使管理事件处理程序更加理智。

于 2014-04-25T23:21:06.867 回答