[js开源组件开发]js文本框计数组件

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为最大长度

  

时间: 2024-10-15 01:47:57

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

js自动过滤替换页面文本框和文本域内容中的特殊字符并进行提示

在开发java web页面时需要校验用户的输入内容是否合法,在进行校验时我们可以单独把校验特殊字符这块抽取出来,只需要在每个页面引用下该js即可实现校验不需要再页面设置其他东西,js会自动捕捉页面文本框和文本域,同时也方便了以后代码的复用. 代码如下: var tagname=''; var attrid=''; var tagvalue=''; document.oninput = function(e){ var o = e.srcElement || e.target; getValue(

JS将光标移动到文本框后面

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascrip

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

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

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

126邮件正文邮件的rich text 先让selenium切换到iframe中 driver.switchTo().frame(driver.findElement(By.className("APP-editor-iframe"))); 然后执行JS WebElement editor = driver.findElement(By.tagName("body")); JavascriptExecutor jsExecutor = (JavascriptExec

【Android开发】高级组件-自动完成文本框

自动完成文本框(AutoCompleteTextView),用于实现允许用户输入一定字符后,显示一个下拉菜单,供用户从中选择,当用户选择某个选项之后,按用户选择自动填写该文本框. 语法格式: 属性列表>AutoCompleteTextView组件继承EditText,所以它支持EditText组件提供的属性,同时,该组件还有以下属性: android:completion http://songtaste.com/user/10347564/infohttp://songtaste.com/us

JS(javascript)动态判断输入文本框剩余可输入字符数

一.描述 我们在空间中发表状态,当我们输入一个字符,上面的剩余可输入字符数就会减一,直到输入的字符数达到之前设定的最大数量为止,效果如下图所示: 二.实现方法 首先,我们先确定文本框内的最大可输入长度,其次在输入一个字符抬起键盘的时候对输入文本框中的字符长度进行验证,并在动态显示在剩余可输入字符数中. 三.源代码 <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="

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

js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,http://www.cnblogs.com/tianxiangbing/p/calendar.html. 效果图如下: mobile-select-date 手机联动选择日期 这个组件是从mobile-select-area 继承过来的,所以调用方法基本相同 DEMO请点击这里  http://www.love

js获取div中的文本框数据

通过div得到div里的所有数据 大神的世界无需解释,当然不是说我,当我看到这些代码的时候我惊呆了! 这是一个工具方法js: js: /* * 获取指定对象下的所有input.textarea值 * divid:外层的id * jsonStr:如果无,新创建一个对象,如果有,直接在对象中添加 * isCheck:是否进行必填项判断 */ getFormParam: function(divid,jsonStr,isCheck){ var inputlist = $("#"+divid+

JS验证表单中TEXT文本框中是否含有非法字符

<form id="form" action="" method="post"> <input type="hidden" name="selected" value="" /> <table class="conditionTable"> <tr> <td class="first">用