我有一个输入框和一个登录按钮。我想允许用户在输入框聚焦时按下"Enter"键来点击按钮。我该如何使用jQuery实现这个功能?
<input type="text" size="10" id="loginUserID" name="username">
<input type="button" value="Login" name="loginBtn" id="loginBtn">
$('#loginUserID').keypress(function(event){
if(event.keyCode == 13){
$('#loginBtn').click();
}
});
type="submit"
即可:<input type="text" size="10" id="loginUserID" name="username">
<input type="submit" value="Login" name="loginBtn" id="loginBtn">
当你在文本输入框中按下 Enter 键后,<form>
就会自动提交。
type="submit"
,您应该会发现它会自动发生,但无论如何...$(document).ready(function() {
$('#loginUserID').keypress(function(e){
if(e.which === 13)
$('#loginBtn').click();
});
});
.keyup
或 .keydown
。)$('#loginUserID').keypress(function(event) {
if(event.keyCode == 13) {
e.preventDefault(); // Stop the default behaviour
$('#loginBtn').click();
}
});
e.preventDefault()
,在模拟点击后,仍会出现在字段内按下 RETURN 键的默认行为,这可能会成为一个问题。它应该作为每个答案下面的评论,或者引用其他答案并添加完整的代码,但它是有用和必要的... - FrancescoMM当触发器附加在asp.net代码中而不是js或jquery中时,答案无效。设置按钮焦点可以正常工作。在您的情况下,请使用您的登录字段替换我的命名(SharePoint生成的)字段。
<script type ="text/javascript">
$(document).ready(function () {
var zoekveld = $( "input[name='ctl00$m$g_02abe20b_56ca_4744_a694_5bc31dd14f49$ctl02']" );
var loep = $( "input[name='ctl00$m$g_02abe20b_56ca_4744_a694_5bc31dd14f49$ctl04']" );
zoekveld.keypress(function(e){
//alert("gevonden op name");
var key = e.which;
if(key == 13){
//alert("op enter geklikt");
loep.focus();
}
});
});
</script>
$(this).keypress(function(event){ ...
。这样可以捕获所有输入对象的ENTER
键。 - Peter VARGA