textarea输入文字限制个数
说明:
w-count固定为数字部分的classtextarea-active为超出最大输入文字个数报错信息的class
html 部分:
<div class="wrap wrapper">
<div class="tp-form-textarea tp-form-input-unname">
<div class="textarea-box" data-textarea="textarea" data-length="20">
<textarea name="" id="" cols="5" rows="10" placeholder="默认文字" data-cols="5"></textarea>
<p class="w-count" data-length="number"><em>0</em>/30</p>
</div>
</div>
<div class="tp-form-textarea tp-form-input-unname">
<div class="textarea-box" data-textarea="textarea-1" data-length="20">
<textarea name="" id="" cols="3" rows="10" placeholder="默认文字" data-cols="3"></textarea>
<p class="w-count" data-length="number-1"><em>0</em>/302</p>
</div>
</div>
</div>
js部分:
/*
* @name tab.js tab切换功能
*/
define(function(require, exports, module) {
var TextArea = function(ele,config){
this.area = $.extend({
triggerFocus:'focus',
triggerBlur:'blur',
triggerInput:'input',
$content: '.textarea-box',
$textareaBox:"[data-textarea*='textarea']",
$wCount:"[data-length *='number']",
$value : '',
$maxlength:100
}, config);
this.init(ele);
};
TextArea.prototype = {
constructor:TextArea,
init: function(ele){
var self = this;
self.$ele = ele;
//this就是代表当前作用域对象的引用。如果在全局范围this 就代表window 对象,如果在构造函数体内,就代表当前的构造函数所声明的对象。
self.$textareaBox = $(self.area.$content || self.area.$textareaBox);
self.renderTab();
},
cssStatus:{
actives: 'textarea-active', //给聚焦的盒子添加class
warnimg: 'count-error' //给报错的盒子添加红色文字
},
renderTab:function(){
var self = this;
self.$textareaBox.find("textarea").on(self.area.triggerFocus, function(){
var that = $(this);
_parent = that.parents(".textarea-box");
_parent.addClass(self.cssStatus.actives);
}).on(self.area.triggerBlur, function(){
var _that = $(this);
self.$textareaBox.removeClass(self.cssStatus.actives);
}).on(self.area.triggerInput, function(){ //input事件是时时触发
var _this = $(this),
_parent = _this.parent(),
val = $.trim(_this.val());
wCount = _parent.find((self.area.$wCount || ".w-count")).text(); //获取文字最大数
if(wCount == '' || wCount =="undefined" || wCount == null){
maxlength = self.area.$maxlength;
}else{
var wNum = wCount.lastIndexOf("\/"),
maxlength = wCount.substring(wNum+1,wNum.length);
}
if(val.length > maxlength){
_parent.addClass(self.cssStatus.warnimg)
}else{
_parent.removeClass(self.cssStatus.warnimg)
}
_parent.find('.w-count em').text(val.length)
});
}
}
$.extend($.fn,{
textArea:function(config){
return new TextArea($(this), config || {});
}
});
module.exports = $;
})
textarea输入文字限制个数的更多相关文章
- jquery统计输入文字的个数并对其进行判断
<textarea placeholder="该产品满足你的期待吗?说说你的使用心得,分享给 同样看中的他们吧"></textarea> <span ...
- js计算textarea输入文字的长度
前言 日常开发过程中,有些时候我们想使用textarea,然后限制输入的长度,在textarea末尾显示剩余可输入的字节数. 如下图: 解决方法: 常用的有三种方法: 1.通过判断charCodeA ...
- js控制textarea输入字符串的个数,鼠标按下抬起推断输入字符数
[Html代码] <table> <tr> <td width="150">短信内容:</td> <td> <te ...
- js对输入文字个数的限制...
发表留言或者微博的时候,对输入文字个数的限制,下面分两种情况,每种分别介绍两种实现方式: 第一种:一个汉字算一位,两个字母或符号算一位. 通过ASCII编码来判断 textarea.onkeyup = ...
- inupt textarea提示文字(点击消失,不输入恢复)
<input name="textfield" type="text" maxlength="20" value="请输入 ...
- inupt textarea提示文字(点击消失,不输入恢复)及限制字数
效果: input: textarea: 限100字 源码: input: <input name="textfield" type="text" max ...
- js 控制输入文字个数(换行不算)
如题,换行符在textarea中是要当成一个字符的.用普通的maxlength属性就不行了,于是想到通过事件来控制输入文字的长度. 注意哦,回车换行不能算成字符.这样的话,普通的substring等方 ...
- JS控制文本框textarea输入字数限制
<html> <head> <title>JS限制Textarea文本域字符个数</title> <meta http-equiv="C ...
- chrome浏览器下禁制 textarea改变大小; Jquery的textareaCounter插件控制textarea输入的字符数量
给 textarea 添加一个css 样式即可 resize: none; 用Jquery的插件控制textarea输入的字符数量 一:引用Jquery脚本,并引入 textareaCounte ...
随机推荐
- 机器学习-TensorFlow应用之classification和ROC curve
概述 前面几节讲的是linear regression的内容,这里咱们再讲一个非常常用的一种模型那就是classification,classification顾名思义就是分类的意思,在实际的情况是非 ...
- Centos 7 最小化部署svn版本控制(http协议)
1.关闭selinux sh-4.2# sed -i 's/enforcing/disabled/' /etc/selinux/config sh-4.2# reboot 2.卸载防火墙 sh-4.2 ...
- Centos 7 下部署集群式阿波罗
apollo工作原理 用户通过浏览器登录Portal管理界面 >> 通过Admin server对配置进行修改 >> 应用程序主动向config server配置注意:Port ...
- Spring相关jar说明
Spring整合使用说明 一.只是使用spring框架 dist\spring.jar lib\jakarta-commons\commons-logging.jar 如果使用到了切面编程(AOP), ...
- Java 分布式框架面试题合集
Java 分布式框架面试题合集 1.什么是 ZooKeeper? 答:ZooKeeper 是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性解决方案.设计目的是将那些复杂且容易出错的分布 ...
- java上传组件commons-fileupload的一些使用方法
在 http://www.apache.org,下载commons-fileupload-1.2.1.jar包,并把这个包加到工程中,以下是记录这个上传组件的一些使用方法. html测试页面,实现上传 ...
- 了解EBP指针
在寄存器里面有很多寄存器虽然他们的功能和使用没有任何的区别,但是在长期的编程和使用中,在程序员习惯中已经默认的给每个寄存器赋上了特殊的含义,比如:EAX一般用来做返回值,ECX用于记数等等.在win3 ...
- python 内置模块之os、sys、shutil
一.OS模块 用于提供系统级别的操作. OS 目录和文件 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改 ...
- 基于MySQL+MHA+Haproxy部署高可用负载均衡集群
一.MHA 概述 MHA(Master High Availability)是可以在MySQL上使用的一套高可用方案.所编写的语言为Perl 从名字上我们可以看到.MHA的目的就是为了维护Master ...
- Property - 特性(Python)
Property - Python 特性 不同的书籍对 property 一词的翻译有所不同, 我们将 property 翻译成 '特性' 以区别于 attribute 一词. 先看看 propert ...