Javascript 增加焦点上的区域行数
我想要一个primefaces InputExtArea,在聚焦时将其rows=“1”属性更改为rows=“10” 我尝试过这个,但不起作用: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,因为它可以自动调整大小 我可以错
<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);
});