我有一个输入字段和一个登录按钮。我想要允许用户在输入字段被聚焦时点击"enter“键来点击按钮。我该如何在jQuery中做到这一点呢?
<input type="text" size="10" id="loginUserID" name="username">
<input type="button" value="Login" name="loginBtn" id="loginBtn">
发布于 2011-10-29 15:00:18
$('#loginUserID').keypress(function(event){
if(event.keyCode == 13){
$('#loginBtn').click();
}
});
发布于 2011-10-29 15:02:18
如果它们在相同的表单中,并且您将按钮更改为type="submit"
,您会发现它会自动发生,但不管怎样…
$(document).ready(function() {
$('#loginUserID').keypress(function(e){
if(e.which === 13)
$('#loginBtn').click();
});
});
(或者您可能更喜欢.keyup
或.keydown
。)
发布于 2016-12-04 03:42:09
公认的答案和大多数其他答案都认为click()操作可能会通过提交表单并切换到另一个页面来结束事件处理,或者表单上没有提交,因此它们省略了停止事件链,但情况可能并非如此。
在目标按钮上调用click()
之前,不要忘记调用e.preventDefault()
。否则,除了单击之外,表单上的第一个按钮仍然会在回车时触发!
$('#loginUserID').keypress(function(event) {
if(event.keyCode == 13) {
e.preventDefault(); // Stop the default behaviour
$('#loginBtn').click();
}
});
https://stackoverflow.com/questions/7937441
复制相似问题