ユーザーがストロークの色を変更できるカラーピッカーを備えたインターフェイスがありますが、何が起こっているのか、描画を開始します-黒を描画します。ストロークを赤に変更し、描画します-そして、黒だったものはすべて赤になりました。その理由については、少しも手がかりがありません。
関連すると思われるコードは次のとおりです。それはすべてcoffeescriptクラス内にあります
canvasMouseDown: (event) ->
@offset = $(@canvas).offset()
_x = @offset.left
_y = @offset.top
@ctx.moveTo event.pageX - _x, event.pageY - _y
# does nothing more than save the current canvas via getImageData() to allow an undo
@saveUndoState()
@ctx.strokeStyle = @attr.stroke
@canvas.bind "mousemove.canvasDraw", (e) =>
x = e.pageX - _x
y = e.pageY - _y
@ctx.lineTo x, y
@ctx.stroke()
initCanvas: ->
@ctx = @canvas[0].getContext '2d'
$(@canvas).bind "mousedown.canvasDraw", (e) =>
@canvasMouseDown e
$(@canvas).bind "mouseup.canvasDraw", (e) =>
@canvasMouseUp e