2016-04-04 4 views
2

私はファブリックjsを使用しています。 今日私はこの質問に「ファブリックジョイントのテキストをチェックする方法は複数行ですか?」と打ちました。 これを手伝ってください。前もって感謝します。fabricjsのテキストを確認する方法は複数行ですか?

+0

どのようなコードを試しましたか? [How to ask](http://stackoverflow.com/help/how-to-ask)を参照して、[Minimal、Complete、and Verifiable example](http://stackoverflow.com/help/mcve)を作成してください。 – tmthydvnprt

答えて

3

fabricjsテキストは_textLinesです。テキストに複数行がある場合、このプロパティは配列として各行を追加します。これをチェックのために使用することができます。

var canvas = window._canvas = new fabric.Canvas('c'); 
 

 
$('#multi').click(function(){ 
 
\t canvas.clear(); 
 
    var text = new fabric.Text('Hai this is\nmulti line\nHello World', {}); 
 
    canvas.add(text); 
 
    $('#check').removeAttr('disabled') 
 
}) 
 
$('#single').click(function(){ 
 
\t canvas.clear(); 
 
    var text = new fabric.Text('Hai this is single line Hello World', {}); 
 
    canvas.add(text); 
 
    $('#check').removeAttr('disabled') 
 
}) 
 
$('#check').click(function(){ 
 
\t console.log(canvas.getObjects()[0]._textLines.length) 
 
    check = canvas.getObjects()[0]._textLines.length; 
 
\t if(check>1){ 
 
    \t alert("hey this is multi line text") 
 
    } 
 
    else if(check==1) 
 
    { 
 
    \t alert("hey this is single line") 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<canvas id="c" width="400" height="100"></canvas> 
 
<button id="multi">add multi line text 
 
</button> 
 
<button id="single">add single line text 
 
</button> 
 
<button id="check" disabled="">check 
 
</button>

+0

@Mullainathanこの答えがあなたに役立つなら、受け入れ可能な答え目盛りを確認してください。これは他人にも役立ちます。:-) –

+2

_textLinesはプライベートプロパティであることに注意してください。レンダリングの直後に初期化されます。 canvas.addパーツをスキップしても機能しません。 – AndreaBogazzi

1

テキストは改行で分割されることができれば、私はちょうどチェックします。

var myText = new fabric.Text('Hai this is single line Hello World', {}); 
var multiline = myText.text.split('\n').length > 1 ? true : false; 
+0

'split(/ \ n \ r | \ n | \ r /)'はMac&Windows&Linuxのすべての拠点を網羅しています。参照:https://danielmiessler.com/study/crlf/ –

関連する問題