Jquery UI Spinner - 禁用键盘输入

时间:2013-07-29 10:56:02

标签: jquery-ui jquery-ui-spinner

我试图找到离开用户使用键盘通过jquery ui微调器输入值。我有几个微调器,并希望它只允许用户使用向上和向下箭头来增加或减少值。

我已经尝试过围绕stackoverflow而google并且似乎找不到有效的东西。

所以我举例如下并输入:

<input type="text" class="spinner" value="10"/>

并像这样初始化微调器:

$(".spinner").spinner();

然后尝试禁用这样的按键:

$(".spinner").unbind("keypress");

它仍然允许键盘输入。有谁知道这样做? 下面是我一直在测试的JSBin文件:http://jsbin.com/ujajab/1/edit

3 个答案:

答案 0 :(得分:13)

简单!取代

$(".spinner").unbind("keypress");

$(".spinner").bind("keydown", function (event) {
    event.preventDefault();
});

Unbind将解除绑定的功能。文本字段的默认行为不会改变;所以我们要防止这种情况!如果你不想让它集中注意力:

$(".spinner").focus(function () {
    $(this).blur();
});

快乐的编码!

答案 1 :(得分:9)

您只需将readonly属性添加到标签中,如下所示:

<input type="text" class="spinner" value="10" readonly/>
这对我有用! 干杯

答案 2 :(得分:0)

有人可能希望避免解除绑定,并且更喜欢使用现有API的onchange回调:

jquery UI Spinner change event

如果超出界限,请放弃更改。