当前位置:  开发笔记 > 编程语言 > 正文

限制textarea中的行数

如何解决《限制textarea中的行数》经验,为你挑选了3个好方法。

我正在寻找一个可以限制行数的javascript(通过行我的意思是用户在键盘上按Enter键结束的一些文本),用户可以在textarea中输入.我找到了一些解决方案,但它们根本不起作用或表现得很奇怪.最好的解决方案是一个可以完成工作的jquery插件 - 类似于CharLimit,但它应该能够限制文本行数而不是字符数.



1> marktucks..:

可能有所帮助(可能最好使用jQuery,onDomReady并且不引人注意地将keydown事件添加到textarea)但在IE7和FF3中进行了测试:


  Test
  
    
    
  

*编辑 - 解释:如果按下ENTER键,它会捕获按键,如果textarea中的行与textarea的行数相同,则不会添加新行.否则它会增加行数.

编辑#2:考虑到人们仍然会回答这个问题,我认为我会更新它来处理粘贴,删除和剪切,尽我所能.




    Test
    









当用户点击退格导致删除整行时会出现问题,这会限制可写入的行数,并可能删除所有行,只留下一行写入.当用户输入许多字符使它们移动到新行但是创建的行不计入限制行时,它也表现不佳.

2> Maciej..:

如何使用jQuery:

绑定到textarea的keyDown事件.

function limitTextareaLine(e) {
    if(e.keyCode == 13 && $(this).val().split("\n").length >= $(this).attr('rows')) { 
        return false;
    }
}


当用户将换行符粘贴到textarea中时,此策略失败.

3> 小智..:

此解决方案有效:


和文本区域将是



在常规HTML中:


推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有