一款支持键盘上下键控制数字增减,可设置最大值和最小值,可设置正数值和负数值的样式。;(function ($) { $.fn.spinner = function (opts) { return this.each(function () { var defaults = {value:0, min:0} var options = $.extend(defaults, opts) var keyCodes = {up:38, down:40} var container = $('
') container.addClass('spinner') var textField = $(this).addClass('value').attr('maxlength', '2').val(options.value) .bind('keyup paste change', function (e) { var field = $(this) if (e.keyCode == keyCodes.up) changeValue(1) else if (e.keyCode == keyCodes.down) changeValue(-1) else if (getValue(field) != container.data('lastValidValue')) validateAndTrigger(field) }) textField.wrap(container) var increaseButton = $('').click(function () { changeValue(1) }) var decreaseButton = $('').click(function () { changeValue(-1) }) validate(textField) container.data('lastValidValue', options.value) textField.before(decreaseButton) textField.after(increaseButton) function changeValue(delta) { textField.val(getValue() + delta) validateAndTrigger(textField) } function validateAndTrigger(field) { clearTimeout(container.data('timeout')) var value = validate(field) if (!isInvalid(value)) { textField.trigger('update', [field, value]) } } function validate(field) { var value = getValue() if (value <= options.min) decreaseButton.attr('disabled', 'disabled') else decreaseButton.removeAttr('disabled') field.toggleClass('invalid', isInvalid(value)).toggleClass('passive', value === 0) if (isInvalid(value)) { var timeout = setTimeout(function () { textField.val(container.data('lastValidValue')) validate(field) }, 500) container.data('timeout', timeout) } else { container.data('lastValidValue', value) } return value } function isInvalid(value) { return isNaN(+value) || value < options.min; } function getValue(field) { field = field || textField; return parseInt(field.val() || 0, 10) } }) }})(jQuery)文件目录······
暂无数据
猜你喜欢
更多»
项目推荐
更多»
PDF电子书
更多»
Java多线程编程核心技术
(2)
Linux命令详解词典.pdf
(5)
深入Python3中文版
(0)
百度SEO一本通.pdf
(0)
mysql必知必会.pdf
(2)
疯狂JAVA讲义 pdf电子书
(3)
C# 图解教程pdf电子书
(3)
研磨设计模式 pdf电子书
(0)