我们遇到了jQuery UI微调器的问题.当我们在微调器上设置最大值时,使用微调器按钮时不可能超过此最大值.但是使用键盘我们可以去任何数字.
我们需要允许用户使用键盘.在jQuery UI中是否有针对此的标准解决方案?
正如你在Rab Nawaz的这个(http://jsfiddle.net/Uygt2/4/)更新的小提琴中看到的那样,模糊总是被调用,这导致我们的逻辑运行两次.
解决方法
编辑:处理负数.感谢
Rzassar指出.
您可以使用oninput事件:{‘keyup paste’用于不支持它的旧浏览器}
$("input").spinner({ max: 10,min: -10 }).on('input',function () { if ($(this).data('onInputPrevented')) return; var val = this.value,$this = $(this),max = $this.spinner('option','max'),min = $this.spinner('option','min'); // We want only number,no alpha. // We set it to prevIoUs default value. if (!val.match(/^[+-]?[\d]{0,}$/)) val = $(this).data('defaultValue'); this.value = val > max ? max : val < min ? min : val; }).on('keydown',function (e) { // we set default value for spinner. if (!$(this).data('defaultValue')) $(this).data('defaultValue',this.value); // To handle backspace $(this).data('onInputPrevented',e.which === 8 ? true : false); });
原文地址:https://www.jb51.cc/jquery/176407.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。