如何检测用户何时在输入字段中按Enter键
我只有1个输入字段,我想注册onChange和onKeyPress事件来检测用户何时完成输入或按Enter键。我只需要使用JavaScript。谢谢您的帮助。如何检测用户何时在输入字段中按Enter键
我:
var load = function(){
//I want to trigger this function when user hit Enter key.
}
document.getElementById('co').onchange=load; //works great
document.getElementById('co').onKeyPress=load;
//not sure how to detect when user press Enter
HTML
//no form just a single input field
<input type='text' id='co'>
document.getElementById('foo').onkeypress = function(e){
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == '13'){
// Enter pressed
return false;
}
}
附加问题。在我检测到用户按Enter后如何访问foo元素?我不能使用这个关键字,它指的是窗口对象。非常感谢 – FlyingCat 2012-07-06 16:34:43
'this.value'应该工作..它在我的演示中。 – sachleen 2012-07-06 17:09:59
我会使用'if(keyCode === 13)'严格等于 – bobbyrne01 2015-01-17 23:15:57
下面是讨论这个话题,并提供一个工作的例子一个很好的链接
function DetectEnterPressed(e) {
var characterCode
if(e && e.which){ // NN4 specific code
e = e
characterCode = e.which
}
else {
e = event
characterCode = e.keyCode // IE specific code
}
if (characterCode == 13) return true // Enter key is 13
else return false
}
使用event.keyCode
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //Enter keycode
//Do something
}
已经有在这个环节的讨论 jQuery Event Keypress: Which key was pressed?
为了让跨浏览器:
document.getElementById('foo').onkeypress = function(e) {
var event = e || window.event;
var charCode = event.which || event.keyCode;
if (charCode == '13') {
// Enter pressed
return false;
}
}
见本问题的更多细节:javascript event e.which?
我使用此代码,它工作正常:
document.getElementById("theIdHere").onkeypressed =
function() {
if(this.event.which === 13)
console('passed');
}
这些答案都不对作为尚未明确回答这个问题。问题在于两部分。 1.输入是按下的。 2.用途集中于输入。
$('#input-id').on("keyup", function(e) {
if (e.keyCode == 13) {
console.log('Enter');
}
});
这种方式只有在用户按下输入时才检测到ENTER。
更新和更清洁:使用event.key
而不是event.keyCode
。 没有更多的任意数字代码!
const node = document.getElementById('co');
node.addEventListener('keydown', function onEvent(event) {
if (event.key === "Enter") {
return false;
}
});
的[在JavaScript中输入按键事件]可能的复制(http://stackoverflow.com/questions/905222/enter-key-press-event-in -javascript) – Bae 2016-03-23 21:16:14