【发布时间】:2013-10-02 20:51:55
【问题描述】:
我在通过单击和拖动创建矩形时遇到了 Kineticjs 的一些问题。
$('#my-canvas').mousedown(function() {
// Create rectangle
// Add rectangle to layer
// Draw layer
});
// Dragging
$('#my-canvas').mousemove(function() {
// Update rectangles size/position so that it matches the current mouse position
// Draw layer
});
然后当我释放(mouseup)时,我得到以下错误:
Uncaught TypeError: Cannot read property '_id' of undefined
Kinetic.Util.addMethods._mouseup
(anonymous function)
如果我在释放鼠标时确保鼠标不在矩形上,我不会收到错误消息。但是由于我使用鼠标拖出矩形,所以鼠标位置将位于矩形结束位置。
我找了又找,没有结果。
提前致谢。
更新
这是一个显示我的意思的小提琴: http://jsfiddle.net/DfsFL/1/
Chrome 给出了我在上面几段中发布的错误,FireFox 给出了“TypeError: this.clickStartShape is undefined”。重要提示:如果您在我创建矩形的位置删除“stroke”和“strokeWidth”,它就可以正常工作。这是一个错误,还是我做错了什么?
【问题讨论】:
-
以上没有错误,所以我们需要更多代码来帮助;)
-
您在 mousedown 和 mousemove 函数中所做的操作似乎有错误,我们看不到该代码 atm :D...
-
@markE 抱歉回复晚了。请查看我更新的问题(在底部),我在其中提供了我的问题的 jsfiddle 演示。如果我需要澄清一些事情,请告诉我。
标签: javascript jquery canvas kineticjs