共计 966 个字符,预计需要花费 3 分钟才能阅读完成。
1、出现错误的例子,只拷贝了项目中关键出现问题的部分
例子中明明写了 style=’height:16px’ 这个属性,但是为什么还说 height 未定义呢
通过打印发现:cks.each(function () {autoTextAreaHeight($(this)); }); 中的 $(this) 取出来被当成数组处理了,所以要加上 [0]
<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<script src=”http://libs.baidu.com/jquery/1.9.0/jquery.js”></script>
<title> 菜鸟教程 (runoob.com)</title>
<script>
var element = “<span>” +
“<input type=’checkbox’ value='” + 0 + “‘>” +
“<textarea style=’height:16px; width:100px;margin-left:7px;’ class=’show_text’ oninput=’autoTextAreaHeight(this)’ “+
“>asdsaaaaaaaaaaaaawqdqwwqa</textarea>”
//$.find(“body”).append(element);
$(window).load(function(){
// 用 jq 在 body 中动态添加元素
$(document.body).append(element);
$(document.body).append(element);
// 初始化调用文本域高度自适应方法
$(function () {
var cks = $(“.show_text”);
cks.each(function () {
autoTextAreaHeight($(this));
})
})
});
// 文本域自适应
function autoTextAreaHeight(o) {
o.style.height = o.scrollTop + o.scrollHeight + “px”;
}
</script>
</head>
<body>
</body>
</html>
修改成
cks.each(function () {
autoTextAreaHeight($(this)[0]);
})