扩展一个字符自动长度自动检测的函数

/**

 * 扩展一个字符自动长度自动检测的函数

 * @param  {[type]}   max      [description]

 * @param  {Function} callback [description]

 * @return {[type]}            [description]

 */

jQuery.fn.maxLength = function(max, callback) {

		this.each(function(){

			var type 	= this.tagName.toLowerCase();

			var inputType = this.type ? this.type.toLowerCase() : null;

			if(type == "input" && inputType == "text" || inputType == "password") {

				this.maxLength 	= max;

			} else if(type == "textarea") {

				this.onkeypress = function(e) {

					var obj = e || event;

					var keyCode = obj.keyCode;

					var hasSelection = document.selection ? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd;

					return !(this.value.length >= max &&(keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !obj.ctrlKey && !obj.altKey && !hasSelection);

				};

				this.onkeyup = function() {

					if('undefined' != typeof(callback)) {

						callback(this.value.length);

					}

					if(this.value.length > max) {

						this.value = this.value.substring(0,max);

					}

					

				};

			}

		});

};

  

你可能感兴趣的:(函数)