[js开源组件开发]js文本框计数组件
js文本框计数组件
先上效果图:
样式可以自行调整 ,它的功能提供文本框的实时计数,并作出对应的操作,比如现在超出了,点击下面的按钮后,文本框会闪动两下,阻止提交。具体例子可以点击demo:http://www.lovewebgames.com/jsmodule/word-count.html,它的源文件托管在github上:https://github.com/tianxiangbing/word-count
使用方法案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <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> |
或者:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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
1 | 触发的文本框 |
max :number
1 | 最大长度,如果不传会去取文本框的maxlength |
isOverflowCut :boollen
1 | 是否自动截取文本 |
overClass :string
1 | 超出文本时的样式,会同时在num上和textbox上添加 |
num :element
1 | 显示计数的结点 |
minHeight: number
1 | 文本框的最小高度,因为这里做自适应高度的控制。如不写,就不自适应。 |
withButton: element
1 | 关联按钮 |
isByte: boollen
1 | 是否按字节数来计算, true 时:一个汉字作2个单位长度, false 时汉字英文不作区分 |
方法回调:
overflowCallback:function(n,textbox,max)
1 | 超出时的回调, this 指向当前对象,n为长度,textbox是文本框结点对象,max为最大长度 |
changeCallback:function(n,textbox,max)
1 | 长度改变时的回调,n为长度,textbox是文本框结点对象,max为最大长度 |
passClallback:function(n,textbox,max)
1 | 长度通过时的回调,n为长度,textbox是文本框结点对象,max为最大长度 |
分类:
js开源组件开发
标签:
word-count
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架