按Enter键时如何调用函数?

时间:2014-08-19 12:31:35

标签: javascript html

<input type="email" name="email" id="email" style="width:100%;" onkeypress="getMailList($('#email').val())" required>

我需要在按下回车键时调用一个功能。我只是使用kepress事件。但它调用函数全部按键。提前谢谢。

5 个答案:

答案 0 :(得分:0)

如果你想使用jQuery:

$("#email").keyup(function(event){
  if(event.keyCode === 13){
      //Do something
  }
});

13是enter的键码(其他键码:http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html

答案 1 :(得分:0)

每个人都建议使用jQuery,在这种情况下根本不需要它。 对于更多的javascript,它是相同的,它不是必需的,并且可能会使您的代码可读性降低。

您唯一需要做的就是在html标记中添加if语句。

只需添加以下if语句:

if (window.event.keyCode == 13) getMailList($('#email').val())

13是输入的密码。

<input type="email" name="email" id="email" style="width:100%;" 
onkeypress="if (window.event.keyCode == 13) getMailList($('#email').val())" required>

答案 2 :(得分:0)

好像你已经在使用jquery所以尝试下面的代码:

$('#email').keypress(function(e) {
    if(e.which == 13) {
      var email = $(this).val();
      getMailList(email);
    }
});

答案 3 :(得分:0)

有两种方法:

  1. 在输入上绑定您的事件onkeypress,检查按下的键是否为'enter'(字符代码= 13)
  2. 将您的事件绑定到周围表单上的onSubmit事件。按Enter键时将触发onSubmit事件。
  3. 后者的一个例子,它更好,因为它允许你在禁用javascript时使其工作:

    <form action="/foo/bar" method="post" id="form">
        <input type="email" id="email" name="email" required />
    </form>
    
    $('#form').on('submit', function(e) {
        e.preventDefault();
        getMailList($('#email').val());
        // do something else
    });
    

答案 4 :(得分:0)

HTML:

<input id="typeHere" placeholder = "Type here and Press Enter" type="text" onkeypress="return functionCall(event)"></input>

Jquery的:

var functionCall= function(e) {
    if (e.keyCode == 13) {
        var tb = document.getElementById("typeHere");
        alert(tb.value);
        return false;
    }
    else {
     return true;
    }
}

请参阅小提琴here