Я использую ткань js. Сегодня я столкнулся с этим вопросом «Как проверить текст fabricjs на несколько строк?». Пожалуйста, помогите мне в этом. Заранее спасибо.Как проверить textjs текст многострочный?
ответ
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>
@Mullainathan, если этот ответ полезен для вас, пожалуйста, проверьте приемлемый знак галочки ответа. Потому что это поможет другим также. :-) –
будьте осторожны, что _textLines является частной собственностью. Он инициализируется сразу после рендеринга. если вы пропустите часть canvas.add, это не сработает. – AndreaBogazzi
я бы просто проверить, если текст может быть разделен символами новой строки.
var myText = new fabric.Text('Hai this is single line Hello World', {});
var multiline = myText.text.split('\n').length > 1 ? true : false;
'split (/ \ n \ r | \ n | \ r /)' охватывает все базы, Mac и Windows и Linux. См .: https://danielmiessler.com/study/crlf/ –
Какой код вы пробовали? См. [Как спросить] (http://stackoverflow.com/help/how-to-ask) и создайте [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). – tmthydvnprt