我有一个页面,我有一个窗体,我附上一个jQuery事件处理程序,通过按下键盘上的回车键来提交此表单。在jquery上处理多个事件处理程序keypress
//Submit form when enter pressed
$(document).keypress(function (e) {
if (e.which == 13) {
$('form').submit();
}
});
我也有可能在同一页面上显示使用jquery ui dialog()的模态。在模式(这是一个隐藏的直到对话框()被调用))有一个按钮,我也想让用户能够点击按钮,当他点击键盘上的输入。我遇到的问题是如果我在页面上使用与先前相同的事件处理程序,它将同时提交表单并单击该按钮。
我该如何处理这个问题,以便第二个事件处理程序仅限于模态/不传播到文档的其余部分?我试过e.stopPropagation,在这种情况下不起作用。
//Handler on the modal
$(document).keypress(function(e) {
e.stopPropagation();
if($('#button-doc-validate').is(':visible') && e.which == 13) {
//Click the button
$('#button-doc-validate').click();
}
});
如果它是一个形式,为什么不使用提交表单的功能,而不是处理的按键? –
那么模式不是一种形式,我怎么才能触发提交事件,而不用听按键,因为我想能够在按键上提交 –
如果你用for提交表单(它将处理你的输入键) ..然后你可以绑定你的模式上的按键事件处理程序来分离两个不同的按键http://jsfiddle.net/KMAYv/ –