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

    现在基本完成目的。

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

  • 相关阅读:
    CSS中:display:none与visible:hidden的区别
    $(function(){})和$(document).ready(function(){}) 的用法
    JavaScript 全选函数的实现
    HTML:关于a标签的target属性
    CSS:给 input 中 type="text" 设置CSS样式
    JavaScript中“javascript:void(0) ”是什么意思
    Oracle数据库——数据库安全性管理
    使用JavaScript根据从后台获取来的数据打开一个新的页面
    java reflect反射---Java高级开发必须懂的
    Java 类加载机制
  • 原文地址:https://www.cnblogs.com/oooo0/p/3616861.html
Copyright © 2011-2022 走看看