首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击时自动调整文本框大小

单击时自动调整文本框大小
EN

Stack Overflow用户
提问于 2012-04-02 01:46:53
回答 2查看 1.9K关注 0票数 1

我正在尝试在点击时调整文本框的大小。

在头部:

代码语言:javascript
复制
<style>
.expand {
    height: 1em;
    width: 50%;
    padding: 3px;
}
</style>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
$('textarea.expand').focus(function () {
    $(this).animate({ height: "1000px" }, 500);
});
</script>

和body:

代码语言:javascript
复制
<form>
<textarea class="expand" rows="1" cols="10"></textarea>
</form>

对我来说,它不是在扩展。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-02 01:59:56

它不起作用的原因是您没有在$(document).ready()上指定事件绑定,所以在DOM中存在元素之前就绑定了事件。试试这个:

代码语言:javascript
复制
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
$(document).ready(function(){
    $('textarea.expand').focus(function () {
        $(this).animate({ height: "1000px" }, 500);
    });
});
</script>

JS Fiddle demo

同样值得注意的是,在更新的浏览器中,您不一定需要JavaScript:

代码语言:javascript
复制
.expand {
    height: 1em;
    width: 50%;
    padding: 3px;
    -webkit-transition: all 1s linear;
    -0-transition: all 1s linear;
    -ms-transition: all 1s linear;
    -moz-transition: all 1s linear;
    transition: all 1s linear;
}

.expand:focus {
    height: 1000px;
    -webkit-transition: all 1s linear;
    -0-transition: all 1s linear;
    -ms-transition: all 1s linear;
    -moz-transition: all 1s linear;
    transition: all 1s linear;
}​

JS Fiddle demo

票数 3
EN

Stack Overflow用户

发布于 2012-04-02 01:54:52

代码看起来很好,并且可以在JS Fiddle http://jsfiddle.net/Pt3d8/1/中正常运行。您可能需要检查以确保Google JSAPI正确地拉取jQuery!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9966697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档