2

私は Fabricjs を初めて使用しますが、ドキュメントを読み、チュートリアルを行っています。

非常に強力なライブラリです。オブジェクトをロックできる場所を見つけましたが、私がやりたいことは、選択したオブジェクトにとどまり、その境界の外側をクリックしてオブジェクトを解放しないことです。私はモバイル & タッチ スクリーン バージョンを構築しています。指を使用すると、オブジェクトの境界の外側をクリックする傾向があります。

基本的に: オブジェクトを選択し、編集し、パレットからプロパティを適用し、リリース ボタンを使用できるため、ユーザーが編集を完了する前にオブジェクトがリリースされることはありません。

次の方法で単一の要素をロックできます。 canvas.item(0).selectable = false;

ただし、編集しようとしているオブジェクトの境界外をクリックすると、そのオブジェクトの選択が失われるという問題が依然としてあります。

どんな助けでも大歓迎です!

4

1 に答える 1

1

私があなたを正しく理解していれば、オブジェクトが選択解除されたときに再度選択して、オブジェクトの選択解除を防ぐ必要があるだけです。これは、Fabric のイベントを介して実行できます。

var selectedObject;

canvas.on('object:selected', function(options) {
  selectedObject = options.target;
});

canvas.on('selection:cleared', function() {
  canvas.setActiveObject(selectedObject);
});

これを示すために、簡単な例 ( jsfiddle ) を作成しました。

于 2013-09-15T18:49:17.023 に答える