2016-10-18 65 views
0

我正在開發一個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元素? – nivendha

+0

是的,我得到了FtSize的值,但它沒有被應用到文本中。 –

+0

檢查應用於文本標籤的內聯樣式,也嘗試'fontSize'而不是'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/