jquery - 启用禁用的按键?

标签 jquery submit keypress

我试图使用表单上的回车键来防止重复提交,但在提交数据后我似乎无法重新启用按键。这是我的代码的一部分:

$(".adauga-clasa").submit(function() {
  var adaugaClasa = $('input[type=text]', this);

  adaugaClasa.keypress(function(event) { if (event.keyCode == '13') { return false; } });

  $.ajax({
    type: "POST",
    url: "/clase/do-add",
    data: dataString,
    dataType: "json",
    success: function(data) {
      // this doesn't work
      adaugaClasa.keypress(function(event) { if (event.keyCode == '13') { return true; } });           
    }
});

最佳答案

您需要.unbind()之前的事件处理程序(仍然处于绑定(bind)状态,并且在新处理程序之前仍然返回 false),如下所示:

adaugaClasa.unbind('keypress');

有了这个,也不需要添加新的 keypress 处理程序,只需删除旧的就足够了。

关于jquery - 启用禁用的按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646567/

相关文章:

javascript - 为什么 .toggle 对第一个函数不起作用?

javascript - 使用 jQuery 触发按键...并指定按下哪个键

javascript - 如何用 jquery 包装元素,但只包装一次

javascript - AJAX load-eventlistener 在从服务器获取响应之前触发

javascript - e.preventDefault() 阻止默认行为,但不返回 false。为什么?

javascript - 尝试使用 GreaseMonkey 提交表单,但页面停止工作

selenium - 如何在 Selenium WebDriver 中按 Ctrl+V

相当于 jQuery 的 keyup() 和 keydown() 的 JavaScript

javascript - 如何使用jquery将yyyy-mm-dd格式的日期转换为 'long date'格式?

javascript - 部分数据从 jquery 中的 xml 填充到表中