单击提交或按Enter键以执行jquery

时间:2014-08-02 16:12:26

标签: jquery

我正在开发一款聊天应用。我希望用户按 Enter 或单击提交按钮显示消息。使用提交按钮,每件事情都可以正常工作,但我无法确定如何将这两种可能性结合起来( Enter & Submit):这是我提交的代码:

    $(function() {
    $("#submit").click(function() {
        var userName = $("#userName").val();
        var textcontent = $("#content").val();  and so on.. 

非常感谢:)

3 个答案:

答案 0 :(得分:0)

您可以使用submit事件代替click事件。这是一个例子:

$(function(){
   $("#submit").submit(function(){
   var username = $("#userName").val();
   // and so on..
  });
 });

答案 1 :(得分:0)

更酷:

$(function(){
 $("#submit").on('submit', function(){
  var username = $("#userName").val();
  // and so on..
 });
});

当用户尝试提交表单时,会将提交事件发送给元素。可以通过点击明确的<input type="submit"><input type="image"><button type="submit">,或者在某些表单元素具有焦点时按 Enter 来提交表单。

演示: http://jsfiddle.net/doniyor/7Ttkh/

答案 2 :(得分:0)

提取事件处理程序以提交给命名函数,该函数可以重复使用,然后将此函数附加到提交按钮的click事件和聊天消息输入的keyup事件。

function sendChatMessage(){
    // Your logic here..

}

$("#submit").click(sendChatMessage);
$("#yourMessageInputId").keyup(function(ev){
    if(ev.keyCode === 13) { // 13 is the key code for enter.
        sendChatMessage();
    }
})

或者只需在输入按键时触发按钮的点击事件,而不更改任何其他代码:

$("#yourMessageInputId").keyup(function(ev){
    if(ev.keyCode === 13) { // 13 is the key code for enter.
        $("#submit").click();
    }
})

编辑:JSFiddle Demo