关于javascript:当我按下回车键时,如何触发onclick功能?

How can I trigger onclick function when I press enter button?

本问题已经有最佳答案,请猛点这里访问。

我使用下面的代码根据用户文本输入更新url链接:

1
2
3
4
5
6
7
8
9
10
11
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />


$(function () {
$("#submit").click(function() {
    var url ="/tag/";
    url += $("#q").val();
    window.location = url;
});
});

现在,当有人点击提交按钮时,它可以正常工作。 我想要的是当用户按下回车按钮时它也可以工作。 这里提琴


试试这个:

1
2
3
4
5
6
7
$(document).keypress(function(e) {
 if(e.which == 13) {
    var url ="/tag/";
    url += $('#q').val();
    window.location = url;
 }
});


您可以简单地使用$(document).keypress()
为此,从.click()中提取函数以避免代码复制,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />


$(function () {

var executeFunction = function(){
    var url ="/tag/";
    url += $("#q").val();
    window.location = url;
};

$("#submit").click(executeFunction);

$(document).keypress(function(event) {
    if(event.which == 13) {
        executeFunction();
    }
});
});

更新

更好的解决方案是使用jquery .submit()事件处理程序

1
2
3
4
5
6
7
8
9
10
11
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />


$(function () {
$("#submit").submit(function() {
    var url ="/tag/";
    url += $("#q").val();
    window.location = url;
});
});