我在这里使用插件http://plugins.jquery.com/project/autogrow我在Internet Explorer和Chrome(不是Firefox)中遇到了问题
见下面的代码:
<script type="text/javascript">
$(document).ready(function() {
$('#main').html('<textarea class=\"test\">aaaa</textarea>');
$('.test').autogrow();
</script>
</head>
<body>
<div id="main">
</div>
</body>
</html>
基本上,如果元素在启动页面后是新的,则不起作用。所以我使用livequery(第68行)
进入插件并更改了这些行 this.textarea.livequery(function() {
$(this).focus(function() {self.startExpand()});
$(this).blur(function() {self.stopExpand()});
});
然而,尽管Firefox没问题,但仍然无效。
你能帮忙吗?
答案 0 :(得分:2)
我通过进行以下两项更改使其在Chrome / Safari中发挥作用:
$('#main').html('<textarea class=\"test\">aaaa</textarea>');
”以包含line-height
样式,例如:“$('#main').html('<textarea class=\"test\" style=\"line-height: 16px\">aaaa</textarea>');
”if(this.line_height == NaN)
”更改为“if(isNaN(this.line_height))
”Chrome / Safari中的效果非常紧张,这似乎与WebKit有关,报告新应用的textarea高度比你设置的低4px,我认为这是由于盒子模型和一些浏览器应用的样式,但我不知道。如果你对FF中的效果感到满意,那么这应该可行,因为它在FireFox中也非常紧张。