I’m not really sure why i do not have access to the @date (this.date) variable from the context of the anonymous function defined in C.f()
class C
constructor: () ->
@date = new Date()
f: () ->
$(document).keydown( (e) ->
alert(@date)
)
Could someone comment on that?
This is happening because inside the
keydownevent handler, thethisvalue will not refer to your object, it will refer to the DOM element.For that purpose, you can use
=>(the fat arrow), that will bind the handler’sthisvalue to the parentthis: