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

/**
 * 扩展一个字符自动长度自动检测的函数
 * @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);
					}
					
				};
			}
		});
};

  

posted @ 2014-09-10 22:27  罗导  阅读(235)  评论(0编辑  收藏  举报