Textbox
中显示Button
和Lightbox
(下一个和上一个)。
当前我的页面在单击Enter键时重新加载。
我不希望这种情况发生。
我想要的是,当我点击回车键时,应点击“下一步”按钮,而不会重新加载灯箱后面的页面重新加载。
我使用了以下代码,但“下一步”按钮上的reload
和click
都在发生:
$("input").bind('keyup', function(event){
if(event.keyCode == 13){
$("#nextbtn").trigger('click');
}
event.preventDefault();
return false;
});
答案 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()
。