按下回车键时如何触发 onclick 功能? [复制]
Posted
技术标签:
【中文标题】按下回车键时如何触发 onclick 功能? [复制]【英文标题】:How can I trigger onclick function when I press enter button? [duplicate] 【发布时间】:2016-09-03 11:24:21 【问题描述】:我使用下面的代码根据用户文本输入更新 url 链接:
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />
<script>
$(function ()
$("#submit").click(function()
var url = "/tag/";
url += $("#q").val();
window.location = url;
);
);
</script>
现在当有人点击提交按钮时它工作得很好。我想要的是让它在用户按下回车按钮时也能工作。 Fiddle HERE
【问题讨论】:
【参考方案1】:试试这个:
$(document).keypress(function(e)
if(e.which == 13)
var url = "/tag/";
url += $('#q').val();
window.location = url;
);
【讨论】:
您可以触发点击处理程序,而不是重复代码:$("#submit").click()
。
我试过了,但是不行。无法弄清楚我做错了什么:(您能检查一下我上面提供的小提琴吗?非常感谢!请记住,我想同时使用这两个功能(提交按钮单击 + Enter Press)
@Marsel 尝试更新代码
@jacob 它工作正常。非常感谢【参考方案2】:
您可以简单地使用$(document).keypress()
为此目的,从.click()
中提取您的函数以避免像这样的代码复制:
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />
<script>
$(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();
);
);
</script>
更新
更好的解决方案是使用 jquery .submit()
event handler
<input type="text" id="q" />
<input type="button" id="submit" value="submit" />
<script>
$(function ()
$("#submit").submit(function()
var url = "/tag/";
url += $("#q").val();
window.location = url;
);
);
</script>
【讨论】:
@downvote 你能告诉我我的回答有什么问题吗?我很乐意改进它... 好吧,请给我点赞……同样的问题也给反对者……不明白为什么我们的答案没有用。以上是关于按下回车键时如何触发 onclick 功能? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
jquery contenteditable enter“当有人按下回车键时如何触发shift-enter?”