我正在编写脚本,通过检查文本是否适合div框中的高度&来限制输入的文本。宽度是固定的,如果没有尝试降低字体大小然后再次检查然后达到最小字体大小它限制textarea内的文本。我已经完成了这个,但它有时达到超高的限制,并且不允许覆盖文本然后被选中。
这是我的剧本:
function onEdit(e) {
var notebox_tmp = $(".notebox_tmp");
var maxHeight = 120;
var minFontSize = 25;
notebox_tmp.css("font-size","50px");
notebox_tmp.text($(this).val());
var currentHeight = notebox_tmp.height();
var currentFontSize = parseInt(notebox_tmp.css("font-size"),10);
while (currentHeight > maxHeight && currentFontSize > minFontSize) {
notebox_tmp.css("font-size", currentFontSize);
currentFontSize -= 0.25;
currentHeight = notebox_tmp.height();
}
if (currentFontSize <= minFontSize) {
e.preventDefault();
}
};
$("textarea").keypress(onEdit);
这是我当前的脚本演示: http://jsfiddle.net/6pfCM/9/