ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea
发布时间:2020-12-15 20:12:54 所属栏目:asp.Net 来源:网络整理
导读:可限制最大输入字符长度 可设置字符截取速度 可自定义提示信息文本样式(可以改进自定义文本内容) 该插件统计英文字符和中文的长度是一样的。 废话少说,这里直接奉上详细插件代码,具体实现细节已经在代码里面有注释: 复制代码 代码如下: ; (function ($) {
•可限制最大输入字符长度 •可设置字符截取速度 •可自定义提示信息文本样式(可以改进自定义文本内容) 该插件统计英文字符和中文的长度是一样的。 废话少说,这里直接奉上详细插件代码,具体实现细节已经在代码里面有注释: 复制代码 代码如下: ; (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 = $("<div style='" + options.msgstyle + "'></div>"); // 在文本框框后面动态加载一个提示信息容器 $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("还能输入<span style='" + options.msgNumStyle + "'>" + (options.maxlength - curlength) + "</span>字"); var init = setInterval(function () { // 如果输入的内容大于设置的最大长度,内容按设置的速度自动截取 if ($textArea.val().length > options.maxlength) { $textArea.val($textArea.val().substring(0,options.maxlength)); $msg.html("").html("还能输入<span style='" + options.msgNumStyle + "'>" + options.maxlength + "</span>字"); } else { clearInterval(init); } },options.speed); }).bind("contextmenu",function (e) { // 禁止鼠标右键,防止通过鼠标操作文本 return false; }); // 首次加载现在可输入字符长度提示信息 $msg.html("").html("还能输入<span style='" + options.msgNumStyle + "'>" + options.maxlength + "</span>字"); return this; } }); })(jQuery); 直接把上面代码复制保存到jquery.textareacounter.js. Demo: 现在我们来看下如何使用该插件,首先要引用该插件,代码如下: 复制代码 代码如下: <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> <script src="Scripts/jquery.textareacounter.js" type="text/javascript"></script> 页面结构代码: 复制代码 代码如下: <form id="form1" runat="server"> <div align="center"> <fieldset style="width: 400px; height: 250px"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> <b>请输入您的评价:</b> </td> </tr> <tr> <td> <asp:TextBox ID="txtCmt" runat="server" TextMode="MultiLine" Width="300px" Rows="5"></asp:TextBox> </td> </tr> </table> </fieldset> </div> </form> 调用插件实现文本框控件txtCmt的字符限制功能,脚本代码: 复制代码 代码如下: <script type="text/javascript"> $(document).ready(function () { $("#txtCmt").textAreaCount({ maxlength: 200,speed: 256 }); }); </script> 注:要使用该插件,调用textAreaCount()方法即可,可以设置该方法的options参数, options参数说明: maxlength:设置最大输入字符数量 speed:设置截取字符的速度 msgstyle:设置文本提示信息主题的样式 msgNumStyle:设置文本提示信息里剩余字符数量的样式 最终使用该插件后的效果图: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- azure – Kestrel运行哪个框架?
- asp.net-web-api – 在ASP.NET Core Web API中实现HTTP缓存
- asp.net-mvc – 如何从MVC 3中的View中将List或Collection返
- asp.net-mvc – MVC – 更改下拉列表中的默认文本
- asp.net-mvc – 单声道或Windows上的主机ServiceStack,MVC3
- asp.net-mvc – 为什么Chrome在ASP.NET MVC中提供文件时搜索
- asp.net – 超时已过期.从池中获取连接之前经过的超时时间.
- asp.net-mvc – ASP.NET MVC:在回发上更改模型的属性
- asp.net-mvc – Razor如何创建一个CheckBox并使其为READONL
- 为什么ASP.NET身份中的Logout使用POST而不是GET?
推荐文章
站长推荐
- asp.net – 在ASP MVC 6中为多个路由分配给同一个
- asp.net-mvc – 什么是好的openid选择器控件?
- asp.net – 将图像转换为流
- asp.net – 如何在一个新的选项卡中打开asp:Hyp
- .NET Core和Classic ASP在同一解决方案中?
- asp.net-mvc – PartialView必须从WebViewPage派
- asp.net – 将web.web应用程序池添加到web.confi
- asp.net – 模型绑定 – Nullable decimal和doub
- asp.net-mvc-3 – MVC 3 $.ajax – 响应似乎是从
- asp.net – 是否需要resx文件?
热点阅读