zoukankan      html  css  js  c++  java
  • 写了个限制文本框输入最大长度的jquery插件

    做了个限制文本框最大输入长度的jquery插件,效果图(共2个文本框,限制最多10个字符):

     

    功能:当超出设置的最大字符长度后,会截断字符串、更改当前元素的css(会在1秒后还原css)、支持长度超出后的异常回调

    使用方式:

    <body>
        <textarea id="filter1" rows="5" cols="100"></textarea>
        <textarea id="filter2" rows="5" cols="100"></textarea>
        <br />
        <span id="msg"></span>
        <script language="javascript" type="text/javascript">
            $(function () {
                function processException(id) {
                    $("#msg").html(id + "&nbsp;exception occurred.<br />" + $("#msg").html());
                }
    
                $("#filter1,#filter2").restrictFieldLength({
                    maxTextLength: 10,
                    restoreTime:2000,
                    exceptionCallback: processException
                });
            });
        </script>
    </body>

    jquery.restrictFieldLength.js:

    (
        function ($) {
            $.fn.restrictFieldLength = function (settings) {
                var opts = $.extend({}, $.fn.restrictFieldLength.defaultSettings, settings || {});
    
                return this.each(function () {
                    var elem = $(this);
    
                    elem.on("keyup", function () {
                        var s = elem.val();
                        if (s.length >= opts.maxTextLength) {
                            elem.val(s.slice(0, opts.maxTextLength));
                            elem.prop("class", opts.exceptionCss);
                            if (opts.exceptionCallback) {
                                opts.exceptionCallback(elem[0].id);
                            }
                            var normalIt = function () {
                                elem.prop("class", opts.defaultCss);
                            }
                            setTimeout(normalIt, opts.restoreTime);
                        }
                    });
                });
            }
            $.fn.restrictFieldLength.defaultSettings = {
                maxTextLength: 100,
                defaultCss: "restrictFieldLength_defaultCss",
                exceptionCss: "restrictFieldLength_exceptionCss",
                restoreTime:1000,
                exceptionCallback: null
            }
        }
    )(jQuery);

    jquery.restrictFieldLength.css

    .restrictFieldLength_defaultCss
    {
        color:black;
    }
    .restrictFieldLength_exceptionCss
    {
        color:red;
    }
  • 相关阅读:
    JVM常用参数整理
    mac系统使用Chrome浏览器https不自动保存密码
    JVM和JMM内存模型
    Chrome提示是否保存密码点击了否,导致没有自动保存密码
    解决Mac系统IDEA debug卡顿问题
    DBeaver的时区问题
    IDEA导航光标回退和前进快捷键失效
    Dubbo 2.6.0升级到2.7.3
    chrome浏览器备忘
    电脑导入mobi书籍文件到IPAD的方法
  • 原文地址:https://www.cnblogs.com/aarond/p/3234042.html
Copyright © 2011-2022 走看看