文本框长度计算和超出截取插件
又一个长度限制插件。。。
由于中文输入法的问题,放弃了采用 onpropertychange / oninput 的方式计数或阻止继续输入。
使用$('[data-maxlength]').maxLength({
limit: 0, // 长度限制
prevent: true, // 阻止继续输入
count: $.fn.maxLength.COUNT_LENGTH, // 计数显示方式
display: null, // 显示提示信息回调或元素
update: null, // 输入框内容改变回调
mode: $.fn.maxLength.MODE_CHINESE // 长度计算方式
});
样式
关于没有默认样式的问题
为什么不提供一个默认的样式呢?
呃,因为懒到死。。。
根据各种各样项目的需求,发现根本没有一劳永逸的样式展示方式,总是有奇奇怪怪的展示需求,顶部的、右侧的,下方的,等等。 而且,受限于不同的布局模式,静态的、fixed 的,绝对定位的,默认提供的样式也会遇到显示不正常的情况。
因此,插件提供了 display 参数,用于满足不同情况下的显示需要。
默认的提示信息样式插件只生成了一个 <span class="maxlength"></span>
这样的元素用以显示数值(假如你没有提供正确的 display
值的时候才会自动生成),这需要插件使用者自行在 CSS 中定义该元素的显示样式。
同时需要注意的是,当数值超出限制值后,插件会为该元素添加 maxlength-error
的样式,插件使用者可以为该类定义错误显示样式。
可以为数值、DOM 属性名称
prevent 超出后是否阻止继续输入Boolean 值,默认为 true
count 计数方式$.fn.maxLength.COUNT_LEFT
显示剩余可输入长度
$.fn.maxLength.COUNT_LENGTH 默认值
显示已输入长度
display 计数显示元素或回调支持 function 回调、CSS 选择器字符串、DOM 元素、jQuery 元素,如不提供则自动在文本框后追加一个 span 用以显示计数
update 输入框内容改变回调当输入框内容改变时触发该回调,满足一些需要根据内容动态调整输入框或提示元素的需求
mode 长度计算方式实现了 3 种长度计算方式:
$.fn.maxLength.MODE_NORMAL
JavaScript 默认长度计算方式,无论中英文,均计算为一个长度。
$.fn.maxLength.MODE_MAXIMUM
一个英文计算一个长度,一个中文计算两个长度。
$.fn.maxLength.MODE_CHINESE 默认值
所谓中式计算方式,两个英文计算一个长度,一个中文计算一个长度。
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。