Javascript Canvas KineticJS-在形状上方释放鼠标时出错
在通过单击和拖动创建矩形时,Kineticjs遇到了一些问题Javascript Canvas KineticJS-在形状上方释放鼠标时出错,javascript,jquery,canvas,kineticjs,Javascript,Jquery,Canvas,Kineticjs,在通过单击和拖动创建矩形时,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 m
$('#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)
如果释放鼠标时确保鼠标不在矩形上,则不会出现错误。但是因为我用鼠标拖出矩形,所以鼠标的位置是在矩形的末端位置
我找了又找,没有结果
提前谢谢
更新
这把小提琴展示了我的意思:
Chrome给出了我在上面几段中发布的错误,FireFox给出了“TypeError:this.clickStartShape未定义”。重要提示:如果删除我创建矩形的“stroke”和“strokeWidth”,效果会很好。这是一个bug,还是我做错了什么?因为我刚刚偶然发现了一个类似的问题: 这应该用动能5固定;在这里,相应的方法包括显式检查(以前
未定义的)单击开始形状
...
if(Kinetic.listenClickTap && clickStartShape && clickStartShape._id === shape._id) {
shape._fireAndBubble(CLICK, evt);
if(fireDblClick) {
shape._fireAndBubble(DBL_CLICK, evt);
}
}
...
(从非最小化动力学5.0.1中的第9040行开始)上面没有错误,因此我们需要更多代码来帮助;)似乎您在mousedown和mousemove函数中所做的操作有误,我们无法看到代码atm:D..@markE很抱歉延迟回复。请看一下我更新的问题(在底部),我在这里提供了我的问题的JSFIDLE演示。如果我需要澄清什么,请告诉我。