位置: 编程技术 - 正文

详解maxlength属性在textarea里奇怪的表现(maxlength属性设置为0)

编辑:rootadmin

推荐整理分享详解maxlength属性在textarea里奇怪的表现(maxlength属性设置为0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:maxlength属性可以设置文本框可以输入,max-width属性,属性max什么意思,maxlength默认值,maxlength属性设置为0,maxidle属性,maxidle属性,maxlength属性可以设置文本框可以输入,内容如对您有帮助,希望把文章链接给更多的朋友!

HTML5给表单带来了很多改变,比如今天要说的maxlength,这个属性可以限制输入框输入的最大字字符数,更方便的是对于粘贴的内容也能够根据字符数自动截断。

最近就接到这要一个需求,限制用户最多输入字(汉字和字母不区分),对于粘贴的内容也要能自动截断,输入字后就无法输入。

第一时间想到了maxlength,基本满足需求,但还是有一些怪异的表现。

看下面的代码:

上述代码中限制输入字符数为,并通过oninput监听用户的输入,没有用keydown,因为keydown只能监听用户键盘输入,对于粘贴没有反应。。。oninput可以做到。

这时候直接输入字后就不再可以输入,删除一些,再输入一些,表现正常。奇怪的是如果你粘贴进textarea里一大堆文字,以为maxlength的存在自动截断,此时textarea里正好有个字符,这时候你删除一些字符,然后再尝试输入,你会发现:

详解maxlength属性在textarea里奇怪的表现(maxlength属性设置为0)

卧槽,无法输入了!!!再删的多一些,这时可以继续输入,但是!!!在输入还不到字符的时候,突然又不能输入了!!!

chrome下以及我的android机器下都会这样。。暂时不知道原因。测试了下input,不会有这样的情况出现,而且maxlength属性的值小一点的话就不会有这种情况,比如。。。

这样的话maxlength就不靠谱了,就自己多写点代码吧,既然oninput这么灵活,就用它了。

修改下代码,去掉textarea的maxlength属性,使用input监听textarea的value值,超过就自动截断,造成一种无法输入的错觉。

不放心的话,可以继续监听keydown事件,在输入大于字符后阻止默认事件,但是有几个键是不能禁止的:删除退格和回车:

IE8以下不支持maxlength属性,也不支持oninput,但是他们有一个更强大的方法:onpropertychange。

下面通过一端代码讲解textarea实现maxlength属性

延时加载JavaScript代码提高速度 延时加载js代码提高速度,具体内容如下所示:如果网页中存在大量的javascript代码会极大的影响网页的访问速度,下面就简单介绍一下如何处理此问题

js时间戳转为日期格式的方法 什么是Unix时间戳(Unixtimestamp):Unix时间戳(Unixtimestamp),或称Unix时间(Unixtime)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间年月

基于JavaScript实现网页倒计时自动跳转代码 用JS实现网页上的自动跳转功能,倒计时跳转至指定网页,倒计时间可自设,时间到则自动跳转到指定的网址,对于JS来说,实现该似乎挺简单哦,用IIS

本文链接地址:https://www.jiuchutong.com/biancheng/385570.html 转载请保留说明!

上一篇:SublimeText自带格式化代码功能之reindent

下一篇:延时加载JavaScript代码提高速度(延时加载js文件)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络