博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET jQuery 食谱13 (原创jQuery文本框字符限制插件-TextArea Counter)
阅读量:5032 次
发布时间:2019-06-12

本文共 2718 字,大约阅读时间需要 9 分钟。

这节介绍一个自己写的jQuery文本框字符限制插件,至于如何写插件,我这里就不多讲了,可以查看相关介绍,这里主要介绍下该插件的功能:

•可限制最大输入字符长度

•可设置字符截取速度

•可自定义提示信息文本样式(可以改进自定义文本内容)

该插件统计英文字符和中文的长度是一样的。

废话少说,这里直接奉上详细插件代码,具体实现细节已经在代码里面有注释:

; (function ($) {
$.fn.extend({
textAreaCount: function (options) {
var $textArea = this; options = $.extend({
maxlength: 140, // 定义一个最大输入长度变量,初始化为500 speed: 15, // 定义删除字符的速度变量 msgstyle: "font-family:Arial;font-size:small;color:Gray;small;text-align:right;margin-top:3px;", // 提示信息显示样式 msgNumStyle: "font-weight:bold;color:Gray;font-style:italic;font-size:larger;" // 提示信息里面剩余长度的样式 }, options); var $msg = $("
"); // 在文本框框后面动态加载一个提示信息容器 $textArea.after($msg); // 添加keypress事件用来判断当前内容是否还可输入 $textArea.keypress(function (e) {
// 8是Backspace按键, 46是Delete按键 // 如果当前可输入的字符长度为0, 且按键值不是8和46,就不做任何操作 if ($textArea.val().length >= options.maxlength && e.which != '8' && e.which != '46') {
e.preventDefault(); return; } }).keyup(function () { // 添加keyup事件用来计算剩余输入字并显示 var curlength = this.value.length; $msg.html("").html("还能输入" + (options.maxlength - curlength) + "字"); var init = setInterval(function () {
// 如果输入的内容大于设置的最大长度,内容按设置的速度自动截取 if ($textArea.val().length > options.maxlength) {
$textArea.val($textArea.val().substring(0, options.maxlength)); $msg.html("").html("还能输入" + options.maxlength + "字"); } else {
clearInterval(init); } }, options.speed); }).bind("contextmenu", function (e) { // 禁止鼠标右键,防止通过鼠标操作文本 return false; }); // 首次加载现在可输入字符长度提示信息 $msg.html("").html("还能输入" + options.maxlength + "字"); return this; } }); })(jQuery);

直接把上面代码复制保存到jquery.textareacounter.js.

Demo:

现在我们来看下如何使用该插件,首先要引用该插件,代码如下:

  

页面结构代码:

请输入您的评价:

调用插件实现文本框控件txtCmt的字符限制功能,脚本代码:

注:要使用该插件,调用textAreaCount()方法即可,可以设置该方法的options参数,

options参数说明:

maxlength:设置最大输入字符数量

speed:设置截取字符的速度

msgstyle:设置文本提示信息主题的样式

msgNumStyle:设置文本提示信息里剩余字符数量的样式

 

最终使用该插件后的效果图:

如果你在使用中有什么好的建议,欢迎提出来。

 
 
 

 

转载于:https://www.cnblogs.com/iamlixin/archive/2012/01/30/2332474.html

你可能感兴趣的文章
hdu 1010 dfs搜索
查看>>
搭建wamp环境,数据库基础知识
查看>>
android中DatePicker和TimePicker的使用
查看>>
SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
查看>>
Android中获取应用程序(包)的大小-----PackageManager的使用(二)
查看>>
Codeforces Gym 100513M M. Variable Shadowing 暴力
查看>>
浅谈 Mybatis中的 ${ } 和 #{ }的区别
查看>>
CNN 笔记
查看>>
版本更新
查看>>
SQL 单引号转义
查看>>
实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端
查看>>
PHP socket客户端长连接
查看>>
7、shell函数
查看>>
【转】Apache Jmeter发送post请求
查看>>
【凸优化】保留凸性的几个方式(交集、仿射变换、投影、线性分式变换)
查看>>
NYOJ-613//HDU-1176-免费馅饼,数字三角形的兄弟~~
查看>>
TFS --- GrantBackup Plan Permissions Error
查看>>
软工作业3:用户体验分析——以“南通大学教务管理系统微信公众号”为例
查看>>
Css:背景色透明,内容不透明之终极方法!兼容所有浏览器
查看>>
我们前端跟后端是怎么合作的
查看>>