Qooxdoo有没有办法自动调整qx.ui.form.TextField
的宽度以适合其内容?
这意味着如果有人在Textfield中输入它应该增长,反之亦然。
答案 0 :(得分:1)
以下是Qooxdoo游乐场中的example,用于收听输入内容的更新,使用画布计算文字的长度并调整textfield
' s宽度。
var tt = new qx.ui.form.TextField();
this.getRoot().add(tt);
tt.addListener("input",function(e){
this.setWidth(parseInt(getTextWidth(e.getData(), "12px Verdana"))+10);
},tt);
function getTextWidth(text, font) {
var canvas = getTextWidth.canvas || (getTextWidth.canvas = document.createElement("canvas"));
var context = canvas.getContext("2d");
context.font = font;
var metrics = context.measureText(text);
return metrics.width;
}