ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter

 更新时间:2012年02月03日 17:20:39   作者:  
这节介绍一个自己写的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 = $("<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:设置文本提示信息里剩余字符数量的样式
最终使用该插件后的效果图:

相关文章

  • jQuery内容选择器与表单选择器实例分析

    jQuery内容选择器与表单选择器实例分析

    这篇文章主要介绍了jQuery内容选择器与表单选择器,结合实例形式分析了jQuery内容选择器与表单选择器的功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06
  • jQuery寻找n以内完全数的方法

    jQuery寻找n以内完全数的方法

    这篇文章主要介绍了jQuery寻找n以内完全数的方法,涉及jQuery数值计算的相关技巧,需要的朋友可以参考下
    2015-06-06
  • jQuery常用选择器详解

    jQuery常用选择器详解

    这篇文章主要为大家详细介绍了jQuery常用选择器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • jquery实现边框特效

    jquery实现边框特效

    这篇文章主要为大家详细介绍了jquery实现边框特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • jQuery链式操作实例分析

    jQuery链式操作实例分析

    这篇文章主要介绍了jQuery链式操作,实例分析了jQuery基于链式操作动态改变页面元素样式的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • jQuery使用getJSON方法获取json数据完整示例

    jQuery使用getJSON方法获取json数据完整示例

    这篇文章主要介绍了jQuery使用getJSON方法获取json数据,结合完整实例形式分析了getJSON方法读取与遍历json文件数据的相关技巧,需要的朋友可以参考下
    2016-09-09
  • 基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)

    基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)

    本文结合实例给大家介绍如何实现内容滑动切换的效果,包括左右箭头切换,无限无缝滚动,圆点按钮切换,动画效果,自动切换效果,效果非常不错,感兴趣的朋友前来参考实现代码
    2016-06-06
  • jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法

    jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法

    这篇文章主要介绍了jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法,涉及jQuery响应鼠标事件动态操作页面元素及基于get实现ajax交互保存数据的相关技巧,需要的朋友可以参考下
    2015-11-11
  • jquery.cookie.js用法实例详解

    jquery.cookie.js用法实例详解

    这篇文章主要介绍了jquery.cookie.js用法,结合实例形式较为详细的分析了jquery.cookie.js针对cookie的获取、创建、设置、删除等常用技巧,需要的朋友可以参考下
    2015-12-12
  • jquery判断单选按钮radio是否选中的方法

    jquery判断单选按钮radio是否选中的方法

    这篇文章主要介绍了jquery判断单选按钮radio是否选中的方法,实例分析了加载页面时获取单选按钮ID和点击按钮时获取单选按钮ID两种方法,非常简单实用,需要的朋友可以参考下
    2015-05-05

最新评论