jquery - 停止页面重新加载

时间:2010-01-20 05:52:37

标签: jquery

Textbox中显示ButtonLightbox(下一个和上一个)。 当前我的页面在单击Enter键时重新加载。 我不希望这种情况发生。

我想要的是,当我点击回车键时,应点击“下一步”按钮,而不会重新加载灯箱后面的页面重新加载。

我使用了以下代码,但“下一步”按钮上的reloadclick都在发生:

$("input").bind('keyup', function(event){
    if(event.keyCode == 13){
        $("#nextbtn").trigger('click');
    }
    event.preventDefault();
    return false;
});

4 个答案:

答案 0 :(得分:5)

确保您的输入按钮是按钮类型而不是提交

<input type='button'>

然后尝试这个,如果keycode是13,那么它将调用nextbtn click事件,然后调整false以便它不会加载回来。

$("input").bind('keyup', function(event){ 
  if(event.keyCode == 13){ 
      $("#nextbtn").click(); 
      return false;
  }
});

答案 1 :(得分:0)

触发Next按钮后立即返回false语句,如下所示:

$("input").bind('keyup', function(event){ 
    if(event.keyCode == 13){ 
        $("#nextbtn").trigger('click');
        return false; 
    } 
    event.preventDefault(); 
});

答案 2 :(得分:0)

如果我理解正确,我认为您只需调整灯箱设置即可使用iFrame。如果您只是使用标准DOM元素,则表单提交将触发页面加载。另一种方法是使用jquery.form插件来执行AJAX表单提交。

答案 3 :(得分:0)

问题出在其他地方。据我所知,页面正在重新加载,因为按钮位于表单中,浏览器将其作为提交按钮进行线程处理。请注意,这发生在click事件上,而不是keyup上。你可以做两件事:

首先。将click事件分配给返回false的按钮。 第二。将您的输入事件更改为keypress而非keyup,然后再添加一行:e.stopPropagation()

相关问题