使用jQuery在窗体上启用Enter按钮或单击事件

使用jQuery在窗体上启用Enter按钮或单击事件,jquery,ajax,forms,Jquery,Ajax,Forms,很难将其简化。对于jQuery来说还是有点陌生,所以如果我遗漏了一些简单的东西,请原谅我 我通过单击事件在发送表单时设置了一个AJAX请求。然而,我需要“回车”键来工作,而不是在发送时重新加载页面 这就是我正在处理的问题: $('#submit').click(function() { //Do AJAX Stuff }); $('#submit').keydown(function (e){ if(e.keyCode == 13){ //Do AJAX Stuff } }

很难将其简化。对于jQuery来说还是有点陌生,所以如果我遗漏了一些简单的东西,请原谅我

我通过单击事件在发送表单时设置了一个AJAX请求。然而,我需要“回车”键来工作,而不是在发送时重新加载页面

这就是我正在处理的问题:

$('#submit').click(function() {
     //Do AJAX Stuff
});

$('#submit').keydown(function (e){
if(e.keyCode == 13){
     //Do AJAX Stuff
}
})
所以我想说的是,我可以为同一个AJAX请求组合这两个函数吗?

您可以使用事件绑定器:

$('#submit').on("click keydown", function(e){
    if(e.keyCode == 13 || e.type == "click"){
         //Do AJAX Stuff
    }        
})
您可以使用事件绑定器:

$('#submit').on("click keydown", function(e){
    if(e.keyCode == 13 || e.type == "click"){
         //Do AJAX Stuff
    }        
})

只需将
submit
处理程序绑定到表单(而不是submit按钮)。它处理所有这些情况:

$('#your_form').submit(function(e) {
    var $this = $(this);
    e.preventDefault(); // Prevents the form from submitting regularly

    $.ajax({            // Sends the appropriate AJAX request instead
        url: $this.attr('action'),
        type: $this.attr('method'),
        data: $this.serialize(),
        success: function(response) {
            alert(response);
        }
    });
});

只需将
submit
处理程序绑定到表单(而不是submit按钮)。它处理所有这些情况:

$('#your_form').submit(function(e) {
    var $this = $(this);
    e.preventDefault(); // Prevents the form from submitting regularly

    $.ajax({            // Sends the appropriate AJAX request instead
        url: $this.attr('action'),
        type: $this.attr('method'),
        data: $this.serialize(),
        success: function(response) {
            alert(response);
        }
    });
});
使用('submit',…)处理程序上的
$('form')。来代替。应处理这两种情况。请使用('submit',…)
处理程序上的
$('form')。我们应该处理这两种情况。