Javascript 增加焦点上的区域行数

Javascript 增加焦点上的区域行数,javascript,jquery,primefaces,Javascript,Jquery,Primefaces,我想要一个primefaces InputExtArea,在聚焦时将其rows=“1”属性更改为rows=“10” 我尝试过这个,但不起作用: <p:inputTextarea rows="1" onblur="if(this.value == '') this.rows = '1';" onfocus="this.rows ='50'"/> 使用h:InputExtArea是可行的,但我更喜欢primefaces InputExtArea,因为它可以自动调整大小 我可以错

我想要一个primefaces InputExtArea,在聚焦时将其rows=“1”属性更改为rows=“10”

我尝试过这个,但不起作用:

 <p:inputTextarea rows="1" onblur="if(this.value == '') this.rows =
 '1';" onfocus="this.rows ='50'"/>

使用h:InputExtArea是可行的,但我更喜欢primefaces InputExtArea,因为它可以自动调整大小

我可以错过什么吗?
谢谢您的帮助。

如果我们假设您的属性和逻辑与框架配合良好,那么您确定
此.value
为空字符串吗? 如果(!this.value),请尝试
,如果没有成功,您可能会继续搜索。

如果成功,你必须做出更准确的布尔语句

对我来说,以下方法有效-此解决方案不是基于行,而是基于更改高度,还可以用于ajax更新(当页面中的html内容更新或延迟加载时)

JSF部分:


不会增加行数可能行数仅在Render上定义,您无法使用此方法在客户端上动态执行。请重新阅读问题。OP表示它适用于
h:inputText
,并希望为
p:inputText
$(document).on("focus", "textarea.expand", function() {
     $(this).animate({ height: "12em" }, 500); 
});

$(document).on("blur", "textarea.expand", function() {
     $(this).animate({ height: "4em" }, 500); 
});