2017-11-15 10 views
0

私は以前のバージョンのfabricjsで動作するいくつかのコードで別の質問を見つけましたが、私は1.7.20で動作するように苦労しています。私はここで間違って何をしていますか? If you go to this fiddle 1.4に切り替えると動作しますが、それ以上は何も動作しません。事前にfabricjsオブジェクトをオンクリックしていますか?

var canvas = new fabric.Canvas('c'); 
var text = new fabric.IText('Text', { 
    left: 10, 
    top: 10, 
}); 
canvas.add(text); 

document.getElementById('center').addEventListener('click', function(e) { 
    var obj = canvas.getActiveObject(); 
    var leftcenter = canvas.width/2 
    var halfleft = obj.currentWidth/2; 
    obj.set("left", leftcenter - halfleft); 
    obj.set("top", obj.get('top')); 
    obj.setCoords(); 
    canvas.renderAll(); 
}); 

<button id="center">Fit To left center</button> 

感謝。

+0

は、あなただけの機能でそれを入れて、機能のonClickを呼び出すことができませんか? – Colton

+0

私は持っています。申し訳ありませんが、誤って同じコードを貼り付けて、ボタンを置くことを意図していました。一定。 –

+0

あなた自身の質問に答えてください。返信されません。 – Colton

答えて

1

currentWidthの代わりにwidthを使用する必要があります。そのようなプロパティはfabricjsで利用できないためです。以前のバージョンでそこにあったかもしれないし、後で削除されるかもしれません。

var halfleft =(obj.width * obj.scaleX)/ 2;

更新フィドル - http://jsfiddle.net/759FV/148/

関連する問題