Javascript 将textarea限制为“文本”;“适合”;
我有一个具有可变宽度字体的文本区域,我需要确保用户在不滚动的情况下不能输入超过文本区域“适合”的文本 简单地捕获keydown和Javascript 将textarea限制为“文本”;“适合”;,javascript,html,dom,textarea,Javascript,Html,Dom,Textarea,我有一个具有可变宽度字体的文本区域,我需要确保用户在不滚动的情况下不能输入超过文本区域“适合”的文本 简单地捕获keydown和preventDefault()”意味着我无法涵盖用户将内容粘贴到文本区域的用例 计算文本的宽度并不能帮助我确定该框中适合多少文本 我该怎么做?如果您不介意使用jQuery,那么解决方案非常简单。首先,将textarea的当前值保存在变量中。然后在文本区域收听input事件,并通过比较this.scrollHeight和this.clientHeight检查它是否有滚动
preventDefault()
”意味着我无法涵盖用户将内容粘贴到文本区域的用例
计算文本的宽度并不能帮助我确定该框中适合多少文本
我该怎么做?如果您不介意使用jQuery,那么解决方案非常简单。首先,将textarea的当前值保存在变量中。然后在文本区域收听
input
事件,并通过比较this.scrollHeight
和this.clientHeight
检查它是否有滚动条。如果是,请将textarea值更改为上一个值。最后,将当前textarea值指定给lastValue
变量
请参阅代码片段:
var lastValue=$(“textarea”).val()
$(“textarea”)。在(“输入”上,函数(事件){
if(this.scrollHeight>this.clientHeight){
$(“textarea”).val(lastValue)
}
lastValue=$(“textarea”).val()
})
完全不要使用javascript。您可以使用css,例如overflow-x:hidden代码>您可以始终创建一个自动扩展的文本区域-不会滚动,这是一个选项吗?我可以帮你。这不是我的问题,而是我需要防止里面的文本溢出。如中所述,我至少应该知道有多少文本从px中的固定大小溢出,字符框中的可变大小溢出,并防止其在textarea的值中结束。我面临同样的问题,想问有没有新的解决方案?