我试着做一个函数,如果在特定输入时按下enter键。
我做错了什么?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
有没有更好的方法,如果回车按。input1 do function?
我试着做一个函数,如果在特定输入时按下enter键。
我做错了什么?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
有没有更好的方法,如果回车按。input1 do function?
当前回答
$(document).keyup(function (e) {
if ($(".input1:focus") && (e.keyCode === 13)) {
alert('ya!')
}
});
或者只是绑定到输入本身
$('.input1').keyup(function (e) {
if (e.keyCode === 13) {
alert('ya!')
}
});
要找出您需要的keyCode,请使用网站http://keycode.info
其他回答
尝试检测在文本框中按下的Enter键。
$(function(){
$(".input1").keyup(function (e) {
if (e.which == 13) {
// Enter key pressed
}
});
});
下面是我为我的angular项目所做的:
HTML:
<input
class="form-control"
[(ngModel)]="searchFirstName"
(keyup)="keyUpEnter($event)"
/>
打字稿:
keyUpEnter(event: KeyboardEvent) {
if (event.key == 'Enter') {
console.log(event);
}
}
$(".input1").on('keyup', function (e) {
if (e.key === 'Enter' || e.keyCode === 13) {
// Do something
}
});
// e.key is the modern way of detecting keys
// e.keyCode is deprecated (left here for for legacy browsers support)
// keyup is not compatible with Jquery select(), Keydown is.
这段代码为我处理了整个站点中的每个输入。它检查INPUT字段中的ENTER键,不会在TEXTAREA或其他地方停止。
$(document).on("keydown", "input", function(e){
if(e.which == 13){
event.preventDefault();
return false;
}
});
我发现最好的方法是使用keydown (keyup对我来说不太好用)。
注意:我还禁用了表单提交,因为通常当你喜欢按Enter键时做一些动作时,你唯一不喜欢的是提交表单:)
$('input').keydown( function( event ) {
if ( event.which === 13 ) {
// Do something
// Disable sending the related form
event.preventDefault();
return false;
}
});