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 ...
随机推荐
- 手撸一个SpringBoot的Starter,简单易上手
前言:今天介绍一SpringBoot的Starter,并手写一个自己的Starter,在SpringBoot项目中,有各种的Starter提供给开发者使用,Starter则提供各种API,这样使开发S ...
- CSS-08-边框属性设置
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Nginx-Http服务器常用配置
#运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...
- linux容器技术和Docker
linux容器技术和Docker 概述 Docker在一定程度上是LXC的增强版,早期的Docker使用LXC作为容器引擎,所以也可以说Docker是LXC的二次封装发行版,目前docker使用的容器 ...
- Distance dependent Chinese Restaurant Processes
Here is a note of Distance dependent Chinese Restaurant Processes 文章链接http://pan.baidu.com/s/1dEk7ZA ...
- Java 加密/解密Excel
概述 设置excel文件保护时,通常可选择对整个工作簿进行加密保护,打开文件时需要输入密码:或者对指定工作表进行加密,即设置表格内容只读,无法对工作表进行编辑.另外,也可以对工作表特定区域设置保护,即 ...
- Spring Boot 2.x基础教程:默认数据源Hikari的配置详解
通过上一节的学习,我们已经学会如何应用Spring中的JdbcTemplate来完成对MySQL的数据库读写操作.接下来通过本篇文章,重点说说在访问数据库过程中的一个重要概念:数据源(Data Sou ...
- 《 Java 编程思想》CH03 操作符
< Java 编程思想>CH03 操作符 在最底层,Java中的数据是通过操作符来操作的. 操作符 +,-,*,*,=与其他语言类似 几乎所有的操作符只能操作"基本类似" ...
- C++读取MNIST数据集
MNIST是一个标准的手写字符测试集. Mnist数据集对应四个文件: train-images-idx3-ubyte: training set images train-labels-idx1- ...
- ubuntu+mysql+php+apache2+wordpress建站全记录
虽然操作并不难,但用到的各种命令,各种坑的解决方法还需要记一下 建好的博客: 念诗之人的博客 VPS和域名选购 VPS选购 国内外有很多商家可供选择,国内有如阿里云,百度云,腾讯云等(ECS,BCC等 ...