Enter键上的触发功能

时间:2011-07-21 13:23:41

标签: jquery

我有一个简单的搜索功能,我想在按Enter键时触发,虽然该功能执行但表格也会被发布。

<script>
function search()
{
 ...
}

$(document).ready(function() {
  $("#text").keypress(function (e) {
if (e.which==13)
  search();
 });
});

<body>
<form id="searchForm" name="searchForm">
 <input size="40" id="text" type="text" name="text" class="input" />
</form>
</body>

5 个答案:

答案 0 :(得分:1)

将函数绑定到submit事件并阻止默认值:

$('form').submit(function(ev){
    ev.preventDefault();
    /* your code here */
});

答案 1 :(得分:1)

<script>
function search()
{
 ...
}

$(document).ready(function() {
  $("#text").keypress(function (e) {
if (e.which==13)

  search();
  return false;
 });
});
</script>

使用return false,它会阻止默认操作

答案 2 :(得分:1)

无需收听 Enter 按键事件。您应该听取submit事件,当按下该键时也会触发该事件。

这是正确的方法:

$(document).ready(function() {
    $("#searchForm").submit(function (e) {
        e.preventDefault();
        search();
    });
});

答案 3 :(得分:0)

您可以尝试从您的函数返回false,这将停止处理继续。

答案 4 :(得分:0)

这是表单的工作方式,您应该使用submit事件:http://api.jquery.com/submit/

使用preventDefault或只返回false以取消自然提交操作。