实现easyui numberbox 的功能

(function (jQuery) {
    $(this).css("ime-mode", "disabled");
    jQuery.fn.spif_numberbox = function(paraments){
        $(this).css("ime-mode", "disabled");
        this.bind("keypress",function(e) {
            var code = (e.keyCode ? e.keyCode : e.which);
            if(typeof($.browser) != "undefined" && !$.browser.msie&&(e.keyCode==0x8))   // if firefox
            {     
                 return ;     
            }
            return code >= 48 && code<= 57 || event.keyCode==46;  // number or dot   
        });     
        this.bind("blur", function() {     
            if (this.value.lastIndexOf(".") == (this.value.length - 1)) {     
                this.value = this.value.substr(0, this.value.length - 1);     
            } else if (isNaN(this.value)) {     
                //this.value = "";     
            }
            var dotFriIdx = this.value.indexOf(".");
            var dotLastIdex = this.value.lastIndexOf(".");
            if(dotFriIdx != dotLastIdex){
                this.value = 0;
            }
            if(paraments.min != null && paraments.min != '' && this.value < paraments.min){
                this.value = paraments.min;
            }
            if(paraments.max != null && paraments.max != '' && this.value > paraments.max){
                this.value = paraments.max;
            }
            if(this.value.lastIndexOf(".") > 0){
                if(paraments.precision == null || paraments.precision == ''){
                    paraments.precision = 0;
                }
                this.value = Math.round(this.value * Math.pow(10, paraments.precision)) / Math.pow(10, paraments.precision); // si she wu ru
            }
            if(paraments.precision > 0){  // qiangzhi baoliu n wei xiaoshu
                var sVal = this.value.toString();
                var sDot = sVal.indexOf(".");
                if(sDot < 0){
                    sDot = sVal.length;
                    sVal += '.';
                }
                while(sVal.length <= sDot + paraments.precision){
                    sVal += '0';
                }
                this.value = sVal;
            }
        });
        this.bind("paste", function() {     
            var s = clipboardData.getData('text');     
            if (!/\D/.test(s));     
            value = s.replace(/^0*/, '');     
            return false;     
        });     
        this.bind("dragenter", function() {     
            return false;     
        });     
//        this.bind("keyup", function() {     
//        if (/(^0+)/.test(this.value)) {     
//            this.value = this.value.replace(/^0*/, '');     
//            }     
//        });
    }
})(jQuery);

你可能感兴趣的:(实现easyui numberbox 的功能)