Ric*_*ard 6 jquery jquery-ui jquery-ui-spinner
我们遇到了jQuery UI微调器的问题.当我们在微调器上设置最大值时,使用微调器按钮时不可能超过此最大值.但是使用键盘我们可以去任何数字.
我们需要允许用户使用键盘.在jQuery UI中是否有针对此的标准解决方案?
正如你可以在这个(http://jsfiddle.net/Uygt2/4/)中看到Rab Nawaz更新的小提琴,blur总是被调用,这导致我们的逻辑运行两次.
A. *_*lff 13
编辑:处理负数.感谢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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4468 次 |
| 最近记录: |