zoukankan      html  css  js  c++  java
  • jQuery实现实时显示字符数

    今天做一个消息管理的功能,消息的最大长度为500,用户自行输入。

    因为这属于短消息,可以在用户输入过程中实时显示剩余字符数,用jQuery来实现。

    思路是在用户输入过程(既文本框获取焦点后)中监听文本框内容变化,获取内容长度,显示给用户。

    其中有两个难点:

    1、  监听函数

    2、  开始监听和取消监听的时机

    关于这两个问题可以用setInterval来解决,文本框获取焦点开始监听,失去焦点停止监听。

    这样的优点是不管用户是输入还是粘贴,都可以监听。

     1 ///监听函数
     2  2 function avai() {
     3  3           var len = 500 - $('#content').val().trim().length;
     4  4           $('#available').val("剩余字符空间:" + len + "/500");
     5  5 
     6  6 }
     7  7 ///文本框获取焦点
     8  8             ///启动计时器
     9  9             ///开始监听
    10 10             $('#content).focus(
    11 11                 function () {
    12 12                    interval = setInterval(avai, 100);
    13 13                 });
    14 14  
    15 15  
    16 16 ///文本框失去焦点
    17 17             ///关闭计时器
    18 18             ///停止监听
    19 19  
    20 20             $('# content).blur(
    21 21                 function () {
    22 22                    clearInterval(interval);
    23 23                 });
    View Code

    这样就基本达到了监听的目的,但是还没有处理字符长度超过500的功能。所以修改监听函数如下:

     1 ///监听函数
     2 function avai() {
     3   var len = 500 - $('#content').val().trim().length;
     4       $('#available').val("剩余字符空间:" + len + "/500");
     5                     if (len <= 0) {
     6                                   //超过长度之后截取0-499个字符重新赋给文本框
     7                            var str = $('#content).text().trim().substr(0,499);
     8                            $('#content').val(str);
     9                            //更新len
    10                           len = 500 - $('#<%= this.txt_con.ClientID %>').val().trim().length;
    11             $('#available').val("剩余字符空间:" + len + "/500");
    12 }
    13 }
    View Code

    现在基本完成目的。

    不过具体代码还有好多兼容性问题,请自行修改测试。

  • 相关阅读:
    POJ 1300 Open Door
    POJ 2230 Watchcow
    codevs 1028 花店橱窗布置
    codevs 1021 玛丽卡
    codevs 1519 过路费
    codevs 3287 货车运输
    codevs 3305 水果姐逛水果街二
    codevs 1036 商务旅行
    codevs 4605 LCA
    POJ 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/oooo0/p/3616861.html
Copyright © 2011-2022 走看看