Html Internet Explorer 10,自动调整文本区域大小

Html Internet Explorer 10,自动调整文本区域大小,html,windows-phone-8,textarea,Html,Windows Phone 8,Textarea,这似乎是一个已经被回答了一千次的问题,但我发现的解决方案在InternetExplorer10和WindowsPhone8上都不起作用(对我来说更重要的是什么) 我的普遍问题是:我正在编写一个Windows-Phone-8 C#应用程序,用户应该在其中编辑大量文本。 由于每个UIElement限制为2048像素,所以我不能使用TextBox。 所以我想让用户在Webbrowser控件的textarea中编辑文本。 为此,文本区域必须根据输入/删除的文本调整大小 我尝试了这些线索中的每一个答案:

这似乎是一个已经被回答了一千次的问题,但我发现的解决方案在InternetExplorer10和WindowsPhone8上都不起作用(对我来说更重要的是什么)

我的普遍问题是:我正在编写一个Windows-Phone-8 C#应用程序,用户应该在其中编辑大量文本。 由于每个UIElement限制为2048像素,所以我不能使用TextBox。 所以我想让用户在Webbrowser控件的
textarea
中编辑文本。 为此,文本区域必须根据输入/删除的文本调整大小

我尝试了这些线索中的每一个答案:

但我没有让它在InternetExplorer10中工作


我很感激任何能完全工作的html,因为我以前从未使用过html和JavaScript,或者其他让用户编辑大量文本的解决方案。

我不确定这是否适合您,但请尝试一下jQuery Autosize:(.)我不确定您是否能在应用程序中使用它,但我以前在自己的项目中使用过它,发现它工作得非常好。

超轻重量:

有人认为内容是可编辑的吗?不要乱动滚动,我唯一喜欢的JS就是如果你打算在blur上保存数据。。。显然,它在所有流行浏览器上都是兼容的:

只要将其样式设置为文本框,它就会自动调整大小。。。将其最小高度和行高度设置为首选文本高度,并将其设置为

这种方法的酷之处在于,您可以在某些浏览器上保存和标记


.自动高度{
最小高度:16px;
字体大小:16px;
保证金:0;
填充:10px;
字体系列:Arial;
线高:16px;
框大小:边框框;
-moz框大小:边框框;
-webkit框大小:边框框;
溢出:隐藏;
调整大小:无;
边框:1px实心#ccc;
大纲:无;
宽度:200px;
}
$(文档).on('blur','.autoheight',函数(e){
var$this=$(this);
//文本在这里,你想用它做什么都行。
log($this.html());
});
米老鼠

我发现,如果您要克隆文本区域(例如,以动态形式,带有始终可用的“下一个”字段),则autosize会出现问题(技术术语的意思是“Internet Explorer可能会执行的操作”)。CONTENTEDITABLE虽然漂亮,但也有它自己的一套问题:例如,使用div(如上面的示例所示,它生成html,例如
新行,并将每一行包装在嵌套div中。您不能在表单中使用它,因为(我猜)它没有被识别为输入字段(并且您仍然拥有所有嵌套的html)。
<style>
.autoheight {
    min-height: 16px;
    font-size: 16px;
    margin: 0;
    padding: 10px;
    font-family: Arial;
    line-height: 16px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    overflow: hidden;
    resize: none;
    border: 1px solid #ccc;
    outline: none;
    width: 200px;
}
</style>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(document).on('blur','.autoheight',function(e) {
    var $this = $(this);
    // The text is here. Do whatever you want with it.
    console.log($this.html());
});

</script>
<div class="autoheight contenteditable" contenteditable="true">Mickey <b>Mouse</b></div>