Javascript fabricjs放置在较大对象上时选择较小的对象
我使用的是fabric.js,当我在一个较大的对象上放置一个较小的对象(w.r.t高度和宽度或缩放为更小)时,我无法在单击时选择较小的对象 我甚至尝试了以下方法,它解决了我的可选问题,但缺点是我失去了边界角的缩放,我无法在实现以下方法后缩放对象 您可以在以下各项上尝试相同的方法urlhttp://fabricjs.com/events/ 查看我的屏幕截图,我已经缩放了红方块,并在上面放置了一个较小的绿色方块。完成此放置后,我无法选择绿色方形 canvas.on('mouse:up',函数(e){ }))Javascript fabricjs放置在较大对象上时选择较小的对象,javascript,fabricjs,Javascript,Fabricjs,我使用的是fabric.js,当我在一个较大的对象上放置一个较小的对象(w.r.t高度和宽度或缩放为更小)时,我无法在单击时选择较小的对象 我甚至尝试了以下方法,它解决了我的可选问题,但缺点是我失去了边界角的缩放,我无法在实现以下方法后缩放对象 您可以在以下各项上尝试相同的方法urlhttp://fabricjs.com/events/ 查看我的屏幕截图,我已经缩放了红方块,并在上面放置了一个较小的绿色方块。完成此放置后,我无法选择绿色方形 canvas.on('mouse:up',函数(e){
您使用的是哪个版本?当我将版本1.4.0更新为1.4.4时,我也遇到了同样的问题。
我不得不回到1.4.0。也许1.4.0版适合您。您使用的是哪个版本?当我将版本1.4.0更新为1.4.4时,我也遇到了同样的问题。
我不得不回到1.4.0。也许1.4.0版适合您。您使用的是哪个版本?当我将版本1.4.0更新为1.4.4时,我也遇到了同样的问题。
我不得不回到1.4.0。也许1.4.0版适合您。您使用的是哪个版本?当我将版本1.4.0更新为1.4.4时,我也遇到了同样的问题。 我不得不回到1.4.0。也许1.4.0版适合您。由于“优化”,这是一个已知的问题 我在_searchPossibleTargets中注释掉了第一条if语句,解决了这个问题
fabric.util.object.extend(fabric.Canvas.prototype, {
_searchPossibleTargets: function(e) {
// Cache all targets where their bounding box contains point.
var target,
pointer = this.getPointer(e);
/*
if (this._activeObject && this._checkTarget(e, this._activeObject, pointer)) {
this.relatedTarget = this._activeObject;
return this._activeObject;
}
*/
var i = this._objects.length;
while(i--) {
if (this._checkTarget(e, this._objects[i], pointer)){
this.relatedTarget = this._objects[i];
target = this._objects[i];
break;
}
}
return target;
}
});
if的目的是返回鼠标所在的当前活动对象,而不管对象顺序如何。如果你有大量的对象,并且阻止你检查之前的所有对象,这就是一个优化。这是一个已知的问题,因为“优化”
我在_searchPossibleTargets中注释掉了第一条if语句,解决了这个问题
fabric.util.object.extend(fabric.Canvas.prototype, {
_searchPossibleTargets: function(e) {
// Cache all targets where their bounding box contains point.
var target,
pointer = this.getPointer(e);
/*
if (this._activeObject && this._checkTarget(e, this._activeObject, pointer)) {
this.relatedTarget = this._activeObject;
return this._activeObject;
}
*/
var i = this._objects.length;
while(i--) {
if (this._checkTarget(e, this._objects[i], pointer)){
this.relatedTarget = this._objects[i];
target = this._objects[i];
break;
}
}
return target;
}
});
if的目的是返回鼠标所在的当前活动对象,而不管对象顺序如何。如果你有大量的对象,并且阻止你检查之前的所有对象,这就是一个优化。这是一个已知的问题,因为“优化”
我在_searchPossibleTargets中注释掉了第一条if语句,解决了这个问题
fabric.util.object.extend(fabric.Canvas.prototype, {
_searchPossibleTargets: function(e) {
// Cache all targets where their bounding box contains point.
var target,
pointer = this.getPointer(e);
/*
if (this._activeObject && this._checkTarget(e, this._activeObject, pointer)) {
this.relatedTarget = this._activeObject;
return this._activeObject;
}
*/
var i = this._objects.length;
while(i--) {
if (this._checkTarget(e, this._objects[i], pointer)){
this.relatedTarget = this._objects[i];
target = this._objects[i];
break;
}
}
return target;
}
});
if的目的是返回鼠标所在的当前活动对象,而不管对象顺序如何。如果你有大量的对象,并且阻止你检查之前的所有对象,这就是一个优化。这是一个已知的问题,因为“优化”
我在_searchPossibleTargets中注释掉了第一条if语句,解决了这个问题
fabric.util.object.extend(fabric.Canvas.prototype, {
_searchPossibleTargets: function(e) {
// Cache all targets where their bounding box contains point.
var target,
pointer = this.getPointer(e);
/*
if (this._activeObject && this._checkTarget(e, this._activeObject, pointer)) {
this.relatedTarget = this._activeObject;
return this._activeObject;
}
*/
var i = this._objects.length;
while(i--) {
if (this._checkTarget(e, this._objects[i], pointer)){
this.relatedTarget = this._objects[i];
target = this._objects[i];
break;
}
}
return target;
}
});
if的目的是返回鼠标所在的当前活动对象,而不管对象顺序如何。如果您有大量对象,并且阻止您检查之前的所有对象,则这是一种优化。是,这也适用于最新版本。它还解决了我在yes上发布的itext bug,该bug也适用于最新版本。它还解决了我在yes上发布的itext bug,该bug也适用于最新版本。它还解决了我在yes上发布的itext bug,该bug也适用于最新版本。它还解决了我发布的itext错误