soncy的七分责任田,种点瓜果蔬菜和杂草

textarea的scrollHeight

发表于 2009年05月31日 soncy 2,257次阅读

在写昨天那篇日志《javascript删除元素节点》时,用自己修改的runcode插入了一段代码,用的是[runcode][runcode]的方式,按照我插件的实现方式,[runcode]标签没有参数时,他的高度应该是根据内容自适应的才是,用的方法是取得<textarea>的scrollHeight然后赋值给他的height,但是在firefox下却没有得到我想要的表现,发现他的高度始终是100px,除非<textarea>中的内容高度超过了100px,scrollHeight的值才会改变,试着运行下面的代码:

提示:你可以先修改部分代码再运行。

提示:你可以先修改部分代码再运行。

第一段代码中<textarea>中的代码是

<div>
</div>
<script type="text/javascript">
var textareaObj = new (function(){
	this.textarea = document.getElementById("xx");
	this.xx = function(){
		this.textarea.style.height = this.textarea.scrollHeight + "px";
	}
	this.checkHeight = function(){
                          alert("高度是"+this.textarea.scrollHeight + "px");
	}
})();
window.onload = function(){
	textareaObj.xx();
}
</script>

这段内容高度超过了80px,所以firefox下得到的高度是210px,但是第二段代码中,<textarea>中的代码只有<div></div>,但得到的高度却是80px,正好是在css中定义的,<textarea>的高度,只要把css中定义的高度去掉,就能得到文本的高度了,您可以修改代码然后运行试试。

感谢您的浏览,如果您喜欢本站,可以通过Rss订阅本站,如需转载,请注明出处,谢谢!

2条评论 RSS 图标

突然想起一句话,不知道合适不合适…JavaScript Tester is dancing in a cage which is named DOM.

[回复]

嗯~这文章有深度

[回复]

发表评论



客官留步,你可能对以下文章也感兴趣