我试着做一个函数,如果在特定输入时按下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?
当前回答
尝试检测在文本框中按下的Enter键。
$(function(){
$(".input1").keyup(function (e) {
if (e.which == 13) {
// Enter key pressed
}
});
});
其他回答
$(".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.
$(document).ready(function () {
$(".input1").keyup(function (e) {
if (e.keyCode == 13) {
// Do something
}
});
});
事件。键=== "Enter"
使用event.key。不再有任意的数字代码!
注意:旧属性(。keyCode和.which)已弃用。
const node = document.getElementsByClassName("input1")[0];
node.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// Do work
}
});
现代风格,有lambda和解构
node.addEventListener("keyup", ({key}) => {
if (key === "Enter") {
// Do work
}
})
如果你必须使用jQuery:
$(document).keyup(function(event) {
if ($(".input1").is(":focus") && event.key == "Enter") {
// Do work
}
});
Mozilla文档
支持的浏览器
下面是对我有效的解决方案
$("#element").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// do something
}
});
这段代码为我处理了整个站点中的每个输入。它检查INPUT字段中的ENTER键,不会在TEXTAREA或其他地方停止。
$(document).on("keydown", "input", function(e){
if(e.which == 13){
event.preventDefault();
return false;
}
});