【发布时间】:2011-12-06 12:36:30
【问题描述】:
我有一个名为 shapes.coffee 的咖啡脚本文件:
jQuery ->
offset = $('#drawing_canvas').offset()
mouse_vertical_position = -Number(offset.top)
mouse_horizontal_position = -Number(offset.left)
canvas = document.getElementById("drawing_canvas")
context = canvas.getContext("2d")
container = canvas.parentNode
temporary_canvas = document.createElement("canvas")
temporary_canvas.id = "temporary_canvas"
temporary_canvas.height = canvas.height
temporary_canvas.width = canvas.width
container.appendChild(temporary_canvas)
temporary_context = temporary_canvas.getContext("2d")
mouse_down_selected = false
$('#temporary_canvas').mousedown (e) ->
mouse_down_selected = true
mouse_horizontal_position = -Number(offset.left)
mouse_vertical_position = -Number(offset.top)
mouse_horizontal_position += e.pageX
mouse_vertical_position += e.pageY
$('body').mouseup ->
mouse_down_selected = false
我想将其中一些行重构为它们自己的方法(最好在单独的文件中)。我试图这样做,但我在控制台中得到方法未定义的错误,并且我一直无法找到涉及 jquery 的示例。在加载文档时需要调用临时画布函数之前的第一组代码。感谢任何示例或建议。
谢谢。
【问题讨论】:
-
您必须将代码拆分为可以从 DOMReady 回调中调用的函数。在“包含”stackoverflow.com/questions/7718121/… 上查看此问题
标签: jquery refactoring coffeescript