Ответ 1
Это почти то же самое:
$("#index").on click: ->
alert ("hi")
, "li.superclass"
В JS у меня есть
$("#index").on({
click : function() { // do something useful with $(this)....}
},"li.superclass");
Как я могу описать это с помощью CoffeeScript?
Это почти то же самое:
$("#index").on click: ->
alert ("hi")
, "li.superclass"
mybe это вы хотите:
$("#index").on
click:->
alert "hi"
"li.superclass"
но я думаю, что это более понятно:
events =
"click":->
alert "hi"
$("#index").on events, "li.superclass"
Если вам нужно использовать this
/@
в обработчике, я думаю, что вы ищете что-то вроде стрелки жира в CoffeeScript, которое перегружает this
для вас...
$('#index').on 'click', => alert(@)
Обратите внимание, что вам нужно использовать off
, чтобы удалить обработчик, или он может не получить сбор мусора. Backbone 0.9 представил a listenTo
функцию, которая значительно упрощает управление обработчиками событий.