Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css JQuery Mobile textarea:如何使用';行';属性_Css_Jquery Mobile_Knockout.js_Textarea - Fatal编程技术网

Css JQuery Mobile textarea:如何使用';行';属性

Css JQuery Mobile textarea:如何使用';行';属性,css,jquery-mobile,knockout.js,textarea,Css,Jquery Mobile,Knockout.js,Textarea,我想使用jquerymobile动态生成textarea,其中包含不同数量的行。我打算为此使用knockout,将数据绑定到行属性 例如,这里: 5行: 10行: 但是,JQuery Mobile似乎忽略了行属性,该属性有很好的文档记录:,甚至包含在JQuery Mobile自己的文档中: 此处的注释指出,设置高度和宽度将覆盖行属性:。这似乎是因为当textarea扩展时,JQuery Mobile正在进行转换。那么rows属性总是被完全覆盖吗 另一个类似的问题是:,但这对我没有帮助,因为我不

我想使用jquerymobile动态生成textarea,其中包含不同数量的行。我打算为此使用knockout,将数据绑定到
属性

例如,这里:

5行:
10行:
但是,JQuery Mobile似乎忽略了
属性,该属性有很好的文档记录:,甚至包含在JQuery Mobile自己的文档中:

此处的注释指出,设置高度和宽度将覆盖
属性:。这似乎是因为当textarea扩展时,JQuery Mobile正在进行转换。那么rows属性总是被完全覆盖吗

另一个类似的问题是:,但这对我没有帮助,因为我不想固定所有文本区域的高度,我希望它们有所不同,因为它们通常可以使用
属性

我还注意到,我无法解释的是,在我自己的代码中,一个rogue
style=“height:184px;”
被添加到我的一个文本区域,而不是另一个文本区域。另一个只是使用50px的标准样式,正如在这个答案中强调的那样:-这似乎表明还有其他事情在发生,但我还不能用简单的小提琴来重现

我快速查看了JQuery移动源代码,但根本看不到正在使用的
属性


为一系列绑定的JQuery Mobile文本区域指定行高的最佳方式是什么?

文本区域内容在多行时自动滚动。最大高度如你所愿。 添加css

textarea.size{max height:30px;}

JQuery Mobile旨在实现响应性,因此从设计上看,它不会占用空间,除非您需要它。如果您通过输入或代码向文本区域添加数据,您可以看到数据会根据需要增长

如果要在该大小为空时覆盖该大小,则有两个选项:

  • 使用Omar提到的方法,即关闭JQM角色,正如您在JSFIDLE示例中所做的那样

  • 另一个是重写默认类


  • jQM通过为响应性和样式化目的添加不同的类来增强
    textarea
    。维护
    高度的最快、最简单的方法是重写jQM类

    CSS解决方案:

    .custom\u类{
    高度:自动!重要;/*!重要用于强制覆盖*/
    }
    
    JS解决方案-增强textarea后设置高度

    setTimeout(function () {
      $('textarea').css({
        'height': 'auto'
      });
    }, 0);
    

    你所需要的只是。。。加上这个

    textarea.ui-input-text { height: inherit !important}
    

    我也有同样的问题,我终于找到了解决办法。您可以在textarea元素中设置“data autogrow=“false”,然后可以在css中设置行属性或高度。它在jquery mobile 1.4.0+

    中确实有效。您可以使用以下命令:
    data autogrow=“false”

    像这样:

    knockoutjs的作用是什么?我正在使用knockoutjs将文本绑定到这些textarea元素中,因此希望还可以使用data bind=“attr:{'rows':rows}”检查这个Omar,它提供了我需要的内容(特别是高度:自动版本),能够设置文本区域的初始高度,同时保持自动增长响应。如果你加上这个作为回答,我会接受的。谢谢:)我很高兴它有帮助:)对我也有用。谢谢你是的,这个解决方案非常有效!其他解决方案对我不起作用,在输入一个空文本区域后,高度再次缩小到1行。谢谢,这很有效!在Firefox和Chrome中测试。
    setTimeout(function () {
      $('textarea').css({
        'height': 'auto'
      });
    }, 0);
    
    textarea.ui-input-text { height: inherit !important}