0

我正在做一个phonegap项目。在这里我想滚动文本区域所以尝试使用溢出:自动;但它不适用于设备android。现在我想在用户写的文本超过区域高度时更改文本区域的高度,或者只是当用户输入 4 或 5 行而不是根据用户要求更改的文本区域的高度时,我固定了div 在文本区域上方,当文本区域的高度大于 div 的高度时,div 是滚动的。

这是链接:http: //jsfiddle.net/amnishyadav/NUhBf/

<div class="mydiv">
    <textarea class="textdiv">
    </textarea>
</div>
4

3 回答 3

0

使用 javascript

document.getElementById("myTextarea").rows=10;
于 2013-10-28T07:39:48.180 回答
0

当您从 jQuery mobile 中删除属性heightmydiv添加时,jQuery mobile 将负责调整 textarea 的大小,请参阅JSFiddle

更新:

您可以从负责扩展 textarea 的 jQuery mobile 中提取代码。当您查看jQuery mobile 1.3.2并搜索 时textarea,您会看到

// Autogrow
if ( input.is( "textarea" ) ) {
    ...
}

当您根据您的情况调整此代码时,您将获得类似JSFiddle 的内容

更新 2:

没有必要深入到 jQuery 移动源代码中。搜索 Stackoverflow(当然还有发现)给出了这个奇妙的答案Textarea to resize based on content length。当你适应 jQuery 移动解决方案时,你会得到

function textareaChanged(input) {
    input.style.height = "1px";
    input.style.height = (extraLineHeight+input.scrollHeight)+"px";
};

$('.textdiv').on("keyup change input paste", function () {
    ...
    var input = this;
    ...
});

查看修改后的 JSFiddle

于 2013-10-28T08:37:11.523 回答
0
<div class="mydiv">
    <textarea id='textarea1' class="textdiv">
    </textarea>
</div>

<script>
    document.getElementById("textarea1").style.width="500px";
    document.getElementById("textarea1").style.height="500px";
</script>

你可以这样做

于 2013-10-28T08:37:22.853 回答