版本一

网上找的

    promiseNum('#contnet', 10);function promiseNum(id, num) {$(id).bind("input propertychange", function () {var a = $(id).val();if (a.length > 10) {$(id).val($(id).val().substr(0,num));}});}

这种效果并没有完全达到 maxLength 的效果,长度到达之后,它依然可以继续输入内容,然后截取指定长度内容

版本二

是我自己思考想出来的思路。
分别监听keypresspaste事件来做判断处理
keypress是键盘按下事件,监听输入的字符串超过指定长度就不让输入了

    $('#id').on('keypress', function () {if ($('#id').val().length > 10) {return false;}})

此时已经和 maxlength效果有点类似了,但是我们通过复制粘贴依然可以把内容给输入进去,所以还需要监听 粘贴事件

    $('#fds2').on('paste', function () {// 1.获取剪切板的内容var pastedData = e.originalEvent.clipboardData.getData('text/plain');// 2. 获取输入框的内容var inputValue = $('#fds2').val();//3.判断粘贴的内容+输入框内容总长度是否大于限制输入的长度if(inputValue.length+ pastedData.length > 10){alert("内容已经达到最大限度,或复制内容过多")return false}})

思考:此时还没有完全实现maxLength的效果,但是这已经是最佳的解决方案,因为maxLength属性粘贴的时候它会自动根据输入框剩余可输入的内容长度来截取剪切板的内容进行填充,技术上可以轻易实现,但是 w3c 不允许,在IE中可以实现,chrome中不行,先看示例代码

    $('#fds2').on('paste', function () {// 1.获取剪切板的内容var pastedData = e.originalEvent.clipboardData.getData('text/plain');// 2. 获取输入框的内容var inputValue = $('#fds2').val();//3.判断内容是否已经超出最大限制长度,假设只能输入10个字if(inputValue.length<10){ //还可以继续填充内容//4.求出剩余可输入的长度var allowLength = 10 - inputValue.length;//5.截取剪切板中的内容var allowContent = pastedData.substr(0,allowLength);//6.再把这部分内容赋值给剪切板(在IE中是有效果的...这么好用的api 可惜了)e.originalEvent.clipboardData.setData('text/plain',allowContent);}else{return false}})

拓展

这个思路,同样可以用来限制一些富文本插件的最大输入字符个数,因为富文本限制输入

js模拟html5的maxLength效果相关推荐

  1. php气泡效果,js 模拟气泡屏保效果代码_其他特效

    核心代码: var T$ = function(id) { return document.getElementById(id); } var $extend = function(des, src) ...

  2. js模拟小球重力回弹效果

    .cont{ width: 1000px; height: 600px; background: #eee; margin: 20px auto; position: relative; } .box ...

  3. JS实现css的hover效果,兼容移动端

    Hi I'm Shendi JS实现css的hover效果,兼容移动端 功能概述 CSS的hover即触碰时触发,在电脑端鼠标触碰,移动端手指触摸 有的时候光靠css实现不了一些效果,例如元素触发ho ...

  4. JS模拟模式窗口效果

    <html> <head>     <meta http-equiv="Content-Type" content="text/html; ...

  5. js制作的模拟超逼真下雨效果

    一层秋雨一层凉. 小楼一夜听春雨. 虞美人·听雨 少年听雨歌楼上.红烛昏罗帐.壮年听雨客舟中.江阔云低.断雁叫西风. 而今听雨僧庐下.鬓已星星也.悲欢离合总无情.一任阶前.点滴到天明. 我是那迷恋微雨 ...

  6. html实现颜料效果,JS基于HTML5的canvas标签实现炫目的色相球动画效果实例

    本文实例讲述了JS基于HTML5的canvas标签实现色相球效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: JS canvas标签制作色相球 var canvas,ctx, ...

  7. js打印html5,控制台打印文字效果js插件-typed.js

    typed.js是一款模拟控制台打印文字效果的js插件.typed.js可以自由的控制要打印的文字,以及打印的速度等,可以制作出逼真的打印文字效果. 安装 可以通过bower来安装typed.js插件 ...

  8. js模拟3D场景效果

    这几个demo上星期平安夜做的,感觉效果不错,就放在出来,分享给大家. 要在二维空间模拟出三维的效果,就需要把三维的坐标转换成二维坐标.一个最基本依据是:东西越远,看到大小就越小,坐标越往消失点靠拢. ...

  9. html5 扇形导航效果图,js+css实现扇形导航效果

    本文实例为大家分享了js+css实现扇形导航效果的具体代码,供大家参考,具体内容如下\ 扇形导航 *{ margin: 0; padding: 0; } html,body{ height: 100% ...

最新文章

  1. Oracle入门(一)之入门级知识详解
  2. 计算机 编程 教程 pdf,计算机专业教程-第3章编程接口介绍.pdf
  3. CSS中属性个属性值怎么区分,[CSS] 详细解释 @media 属性与 (max
  4. 安全狗远程3389端口修改工具
  5. api token 什么意思_还分不清 Cookie、Session、Token、JWT?
  6. 4ME1,4W1H,5W2H,6W2H,6W3H,6S、8D等……含义?
  7. 一文彻底搞懂微服务架构
  8. 天津大学计算机软件技术基础试题答案,天津大学网络学院计算机软件技术基础-1试题b卷.doc...
  9. 【偶爱宋词】章良能·小重山
  10. 如何使用word模板生成word文档(文本,图片)
  11. 普洱茶扫盲篇-辨别优质普洱
  12. 【Python蓝桥杯】特殊回文数 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
  13. 第168篇,中心点(扶摇生财思维)
  14. PAT A1153 Decode Registration Card of PAT ——凭谁问,廉颇老矣,尚能饭否
  15. 使用Nginx代理地址
  16. 汇川AM401与Pro-face连接
  17. python中range(30)什么意思_range在python中是什么意思
  18. 【讲稿】Impala在网易大数据中使用和优化实践-P2
  19. linux宽带账号连接,linux下配置adsl宽带连接
  20. R语言分层抽样(strata函数)

热门文章

  1. AMT49105:高度集成的 ASIL BLDC MOSFET驱动器IC
  2. 开发web应用之php
  3. 2020-12-21
  4. 20210122 记一次防止m3u8网页视频被破解和下载的思路
  5. java80/20法则_那些很熟悉但又不知怎么用的设计法则(1):80/20法则
  6. input 手机号码输入验证
  7. 微信小程序:手机号码解析失败解决方案
  8. npm如何更改下载地址
  9. 磁盘分区魔法师Norton PartitionMagic(PQ8.0)使用图解和使用(搜藏)
  10. 如何在家里教孩子玩 Scratch、学 Python 编程