我试着做一个函数,如果在特定输入时按下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?
当前回答
下面是我为我的angular项目所做的:
HTML:
<input
class="form-control"
[(ngModel)]="searchFirstName"
(keyup)="keyUpEnter($event)"
/>
打字稿:
keyUpEnter(event: KeyboardEvent) {
if (event.key == 'Enter') {
console.log(event);
}
}
其他回答
一个对我有效的解决方法是:
<input onkeydown="if (event.key == 'Enter'){//do logic}else{}">
现在回答这个问题可能已经太晚了。但是下面的代码只是阻止输入键。复制粘贴就可以了。
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
下面是我为我的angular项目所做的:
HTML:
<input
class="form-control"
[(ngModel)]="searchFirstName"
(keyup)="keyUpEnter($event)"
/>
打字稿:
keyUpEnter(event: KeyboardEvent) {
if (event.key == 'Enter') {
console.log(event);
}
}
下面是对我有效的解决方案
$("#element").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// 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文档
支持的浏览器