我使用以下代码根据输入动态更新textarea的字体大小:
$('.font-size').change(function() {
var input = $(this).val(); // grab the input value
var newsize = parseInt(input);
if (input.length > 0)
{
// replace css value on live preview
$('.sizeable').css('font-size', newsize + 'px');
if (this.clientHeight < this.scrollHeight) {
alert("Generic message does not fit in allocated space.\n Please reduce the text size or reword your message.");
}
}
});
但由于某种原因,当重新调整字体大小时,this.scrollHeight不会更新(保持与开始时相同)。
我做错了吗?
答案 0 :(得分:1)
在您的案例中看起来像this
,请参考input
元素,尝试定位您的textarea
:
$('.font-size').change(function () {
var input = $(this).val(); // grab the input value
var newsize = parseInt(input);
if (input.length > 0) {
// replace css value on live preview
$('.sizeable').css('font-size', newsize + 'px');
if ($('textarea')[0].innerHeight() < $('textarea')[0].scrollHeight) {
alert("Generic message does not fit in allocated space.\n Please reduce the text size or reword your message.");
}
}
});
我在这里使用innerHeight()代替clientHeight