代码之家  ›  专栏  ›  技术社区  ›  Norbert Pushparaj Yuvaraj

启用禁用的按键?

  •  2
  • Norbert Pushparaj Yuvaraj  · 技术社区  · 14 年前

    我试图阻止在表单上使用enter键进行双重提交,但在提交数据后,我似乎无法重新启用按键。以下是我的部分代码:

    $(".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; } });           
        }
    });
    
    3 回复  |  直到 14 年前
        1
  •  2
  •   Nick Craver    14 年前

    .unbind() 上一个事件处理程序(仍然绑定,并且仍然返回false) 之前 您的新处理程序),如下所示:

    adaugaClasa.unbind('keypress');
    

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

        2
  •  1
  •   Shane Reustle    14 年前

    var form_submitted = False

    提交时设置为True,提交时检查。

        3
  •  0
  •   Z. Zlatev    14 年前

    它不起作用,因为您没有解除前一个函数的绑定。你只要加一个新的。 .unbind('keypress') .