$("#BlessingText").scroll(function () {
if ($(this).scrollTop() != 0 && $(this).height() < 150) {
var height = $(this).height() + $(this).scrollTop();
$(this).height(height);
}
}).keydown(function (e) {
var _this = this;
//如果点击删除
if (e.which == 8 && $(_this).val().length > 0) {
//获取汉字个数
var clength = ((c = escape($(_this).val().replace(/%u/g, ''))).length - c.replace(/%u/g, '').length) / 2;
//因为汉字占两个字母的位置,而字符串.length是不这么算的汉字也是1,所以获取长度的时候加上汉字的个数
var length = $(_this).val().length + clength;
//每行可以输入多少个字母(减去10是因为有padding,除以7是因为设置的font-size是14px但是字母只占7px)
var ln = Math.floor(($(_this).innerWidth() - 10) / 7);
//获取现在行数
var row = Math.ceil(length / ln);
//获取文本框中可以展示的行数(减去10是跟padding,除以20是行高)
var hasrow = ($(_this).innerHeight() - 10) / 20;
//如果行数小于显示行数重置大小
if (row < hasrow) {
$(_this).height(row * 20);
}
}
});
这个是一个文本框自适应的一段jq写法,在手机端是可行的.已测试