js文本框计数组件

先上效果图:

样式可以自行调整 ,它的功能提供文本框的实时计数,并作出对应的操作,比如现在超出了,点击下面的按钮后,文本框会闪动两下,阻止提交。具体例子可以点击demo:http://www.lovewebgames.com/jsmodule/word-count.html,它的源文件托管在github上:https://github.com/tianxiangbing/word-count

使用方法案例:

<div class="txt-count-container">
<div class="counter"><em>30</em></div>
<textarea name="txt" id="txt" cols="30" rows="10" class="txt">万色城是一个创业平台,所有万色城的网商通过加盟,注册一个属于自己的网上商城。推广自己的商城,销售商城的商品创造收益。每个网商拥有一个属于自己的独立域名。万色城是国内唯一全部实行“实名制”的网上商城,每一个网商,以自己真实的姓名、照片和信誉,作为诚信经营的保障。</textarea>
</div>
<p><input type="button" value="点击提交" class="click"></p>
<script type="text/javascript" src="../src/zepto.js"></script>
<script type="text/javascript" src="../src/word-count.js"></script>
<script>
$(function() {
$(".click").click(function(){
if(!$('.txt').data('overflow') ){
alert('ok')
}
});
$('.txt').WordCount({
max:200,
isOverflowCut: false,
overClass:"over-number",
num:$(" .counter em"),
withButton:".click",
minHeight:100,
overflowCallback: function() {
//this.textBox.addClass('over-number');
//$(".counter em").addClass('over-number');
},
changeCallback: function(num) {
//var n = this.max - num;
//$(" .counter em").html(n);
},
passClallback: function() {
//this.textBox.removeClass('over-number');
//$(".counter em").removeClass('over-number');
},
isByte: true//字节
});
});
</script>

  

或者:

var wc = new WordCount();
wc .init({
trigger:$('.txt'),
max:200,
isOverflowCut: false,
overClass:"over-number",
num:$(" .counter em"),
withButton:".click",
minHeight:100,
overflowCallback: function() {
//this.textBox.addClass('over-number');
//$(".counter em").addClass('over-number');
},
changeCallback: function(num) {
//var n = this.max - num;
//$(" .counter em").html(n);
},
passClallback: function() {
//this.textBox.removeClass('over-number');
//$(".counter em").removeClass('over-number');
},
isByte: true//字节
});

  

属性和方法

trigger :string || object

触发的文本框

max :number

最大长度,如果不传会去取文本框的maxlength

isOverflowCut :boollen

是否自动截取文本

overClass :string

超出文本时的样式,会同时在num上和textbox上添加

num :element

显示计数的结点

minHeight: number

文本框的最小高度,因为这里做自适应高度的控制。如不写,就不自适应。

withButton: element

关联按钮

isByte: boollen

是否按字节数来计算,true时:一个汉字作2个单位长度,false时汉字英文不作区分

方法回调:

overflowCallback:function(n,textbox,max)

超出时的回调,this指向当前对象,n为长度,textbox是文本框结点对象,max为最大长度

changeCallback:function(n,textbox,max)

长度改变时的回调,n为长度,textbox是文本框结点对象,max为最大长度

passClallback:function(n,textbox,max)

长度通过时的回调,n为长度,textbox是文本框结点对象,max为最大长度

  

[js开源组件开发]js文本框计数组件的更多相关文章

  1. Js控制显示、隐藏文本框中的密码

    Js控制显示.隐藏文本框中的密码,也可称为是一款小型的JavaScript星号密码破解器,点击会显示出密码类型的文本框中的真实信息,再次点击则还原,程序 主要是获取HTML元素对象,然后强制更改元素属 ...

  2. html5与js关于input[type='text']文本框value改变触发事件一些属性的区别oninput,onpropertychange,onchange和文本框的value点击全选状态onclick="select();"。做购物车页面时会要用到。

    关于input[type='text']文本框value改变触发事件一些属性的区别oninput,onpropertychange,onchange和文本框的点击全选状态onclick="s ...

  3. Selenium Webdriver——JS处理rich text(富文本框)

    126邮件正文邮件的rich text 先让selenium切换到iframe中 driver.switchTo().frame(driver.findElement(By.className(&qu ...

  4. [js开源组件开发]js手机联动选择地区仿ios 开源git

    js手机联动选择地区 前言:由于网上找到了一个mobiscrool,比较全,但是不开源,只能试用15天,正式版竟然要三千块钱,穷人只能自己动手,写了个只针对弹窗地区选择的. 本站点所有的资源均在git ...

  5. [js开源组件开发]js手机联动选择日期 开源git

    js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,ht ...

  6. [js开源组件开发]js手机端浮层控件,并有多种弹出小提示,兼容pc端浏览器

    js dialog组件,包含alert和confirm的实现 本组件所有的资源均在github上可以查看源代码 GitHub 本dialog的组件的例子请在这里查看 demo dialog js di ...

  7. [js开源组件开发]js多选日期控件

    js多选日期控件 详情请见:http://www.lovewebgames.com/jsmodule/calendar.html 它的github地址:https://github.com/tianx ...

  8. [js开源组件开发]js轮播图片支持手机滑动切换

    js轮播图片支持手机滑动切换 carousel-image 轮播图片,支持触摸滑动. 例子见DEMO http://www.lovewebgames.com/jsmodule/carousel-ima ...

  9. js获取div中的文本框数据

    通过div得到div里的所有数据 大神的世界无需解释,当然不是说我,当我看到这些代码的时候我惊呆了! 这是一个工具方法js: js: /* * 获取指定对象下的所有input.textarea值 * ...

随机推荐

  1. [LeetCode] Remove Invalid Parentheses

    This problem can be solved very elegantly using BFS, as in this post. The code is rewritten below in ...

  2. 图文安装Windows Template Library - WTL Version 9.0

    从http://wtl.sourceforge.net/下载 WTL 9.0,或者点此链接下载:WTL90_4140_Final.zip,然后解压到你的VC目录下面, 我的地址是:C:\Program ...

  3. Ubuntu下的杀毒

      Ubuntu 11.04 杀毒软件ESET NOD32   Linux防病毒,并不代表没有病毒,只是数量过少.因技术精英发现漏洞后即时打补丁,病毒很少. 有兴趣的同学可以尝试下Ubuntu 11. ...

  4. NoSql---MongoDB基本操作

    MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语 言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.最后由于 MongoDB 可以支 ...

  5. C++输入输出

    i. C++如何输入一行,按回车键结束 #include <sstream>1 getline(cin, line); istringstream input(line); ii. C++ ...

  6. [CS231n-CNN] Backpropagation(反向传播算法)

    课程主页:http://cs231n.stanford.edu/ 上节讲到loss function: 引出了求导数使得loss function减小. -Back Propagation :梯度下降 ...

  7. mysql ODBC connector相关问题

    mysql ODBC connector我安装了,怎么就不成功了 进到命令行,运行下边的:C:\>cd \windows\SysWOW64 C:\Windows\SysWOW64>odbc ...

  8. Python使用libsvm的“ImportError: No module named svmutil”问题

    from:http://blog.csdn.net/xmu_jupiter/article/details/46830327 这几天快被Python的一些细节问题整死了,浪费了不少时间.现在把这些记录 ...

  9. Linux下查看tcp连接数及状态

    netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ TIME_WAIT 8947FIN_WAIT1 15FIN_W ...

  10. Linux下打开串口设置

    给出打开串口函数 int open_tty(char tty[]) { int fd; char tty_path[32]={0}; sprintf(tty_path,"/dev/%s&qu ...