使用jquery启用和禁用键盘输入

时间:2015-08-05 19:34:08

标签: javascript jquery

我有一个表单,我想禁用键盘输入。但是我仍然希望将表单作为集合的一部分进行回发,因此添加“禁用”属性对我来说不是解决方案。

我已添加此代码以使输入只读:

 //code to not allow any changes to be made to input field
        $(".customreadonly").keydown(function () {
            return false;
        });

然后我像这样设置这个类:

  $("#StartRRP").addClass('customreadonly');

然而,当我删除这样的类时:

$("#StartRRP").removeClass('customreadonly');

输入仍然不允许键盘输入。这似乎是微不足道的,我做错了什么?

提前致谢...

1 个答案:

答案 0 :(得分:5)

当您将事件直接附加到jQuery对象时,即使它的初始选择器不再有效(即删除了类),它仍会保留。

明确取消绑定

$("#StartRRP").removeClass('customreadonly');
$("#StartRRP").unbind('keydown');

或更改您使用委派的方法

$(document).on("keydown", ".customreadonly", function () {
            return false;
        });