我正在编写一个简单的 CoffeeScript 类,但我遇到了这段代码的上下文问题:
class DragDrop
constructor: (@selector, @bodyDragEnterClass = "drag-over") ->
@attachEventHandlers()
attachEventHandlers: () ->
document.write(@bodyDragEnterClass) # this line tells me, that @bodyDragEnterClass is "drag-over"
document.addEventListener("dragenter", @onDragEnter, false)
onDragEnter: () ->
document.write(@bodyDragEnterClass) # this line tells me, that @bodyDragEnterClass is undefined
jQuery("body").addClass(@bodyDragEnterClass)
window.DragDrop = DragDrop
调用该attachEventHandlers
方法时,@bodyDragEnterClass
将按预期设置为“拖动”。但是,当dragenter
事件被触发并onDragEnter
调用方法时,它@bodyDragEnterClass
是“未定义的”。
我在这里创建了一个 jsfiddle 来演示上下文问题:http: //jsfiddle.net/SVvrM/
我该如何解决这个问题?