#javascript #jquery #html #html5-canvas #jointjs
#javascript #jquery #HTML #html5-холст #jointjs
Вопрос:
Я разрабатываю приложение JointJS, мне нужно установить размер шрифта для текста внутри прямоугольника.
$('#FText,#FTextHeight,#FTextWidth,#FTextSize').on('keyup change', function () {
var FtHeight = $('#FTextHeight').val();
var FtWidth = $('#FTextWidth').val();
var FtSize = parseInt($('#FTextSize').val());
var txt = $('#FText').val();
graph2.clear();
if (txt.length > 0) {
$('#FTexterror').empty();
var myFtext = new joint.shapes.basic.Rect({
position: { x: 50, y: 50 },
size: { width: FtWidth, height: FtHeight },
attrs: {
rect: {
fill: 'white', stroke: outerColor, 'class': 'customtext',
},
text: {
text: txt, 'letter-spacing': 1, 'font-size': FtSize,
fill: outerColor, 'font-size': 11, 'y-alignment': 'middle',
}
}
});
graph2.addCells([myFtext]);
}
else {
$('#FTexterror').empty().append('*Enter valid text');
}
});
приведенный выше код не работает при настройке размера шрифта для текста.
Пожалуйста, помогите мне в этом
Комментарии:
1. смогли ли вы получить целочисленное значение для FtSize? какой встроенный стиль применяется к элементу myFtext?
2. Да, я получил значение FtSize , но оно не применяется к тексту.
3. проверьте встроенные стили, применяемые к текстовому тегу, также попробуйте использовать ‘FontSize’ вместо ‘font-size’ и посмотрите, работает ли это
4. упс … ‘font-size’ был объявлен два раза во встроенном стиле. Теперь он работает. Спасибо @nivendha
Ответ №1:
попробуйте это
$('.input-text')
.val(rect.attr('text/font-size')) //set initial value
.on('keyup', function () {
var val = $(this).val();
rect.attr('text/font-size', val);
});
полная демонстрация: https://jsfiddle.net/vtalas/sav49mj4 /
Комментарии:
1. Привет @Vt. я использую перетаскивание ячейки на другую бумагу, поэтому, когда я меняю имя конкретной ячейки, имя меняется для всех ячеек, которые я перетаскиваю. можете ли вы мне помочь в этом