Javascript 为什么以编程方式单击同一按钮时无法阻止重定向?

Javascript 为什么以编程方式单击同一按钮时无法阻止重定向?,javascript,jquery,Javascript,Jquery,我正在实现只输入邮政编码就可以获得地址的功能。通常,当我单击“下一步”按钮时,我会得到地址列表。实际上,我还想实现enter按钮功能,用户将在文本字段中键入zipcode,然后按enter键,他将看到地址列表 这是我的密码: $('#nxt-button').click(function(event){ event.preventDefault(); // ajax call for getting all addresses related to entered post code r

我正在实现只输入邮政编码就可以获得地址的功能。通常,当我单击“下一步”按钮时,我会得到地址列表。实际上,我还想实现enter按钮功能,用户将在文本字段中键入zipcode,然后按enter键,他将看到地址列表

这是我的密码:

 $('#nxt-button').click(function(event){
  event.preventDefault();
 // ajax call for getting all addresses related to entered post code
return false;
});
//输入按钮功能

  $("#post-code-textfield").keyup(function(event){
        if(event.keyCode == 13){
            $("#nxt-button").click();
            event.preventDefault();
            return false;
        }
      }); 
现在的问题是,当我直接按下next按钮时,preventdefault起作用,但当我按下enter键时,页面会重定向到下一页

请帮帮我

尝试使用按键事件


我假设该字段位于表单中,当您按enter键时,表单正在提交。您只需防止提交表单:


为防止表单提交返回false也应该起作用。

如果您的按钮有href attr,请将其删除,然后直接在click listener中执行重定向。

您可以共享HTML吗?将keyup事件更改为keydown事件,当启动keyup时,事件已经发生。我猜您的输入字段在表单中,按enter键将提交表单。您需要防止表单被提交。发布您的标记以获取帮助一些解释会有帮助吗?这就是问题所在。Enter提交表单,它不按按钮,这样您就可以一次性解决这两个问题
  $("#post-code-textfield").keypress(function(event){
        if(event.keyCode == 13){
            $("#nxt-button").click();
            event.preventDefault();
            return false;
        }
      }); 
$('form').submit(function(event){
      event.preventDefault();
});