我只有1个输入字段,我想注册onChange和onKeyPress事件来检测用户何时完成输入或按Enter键.我只需要使用javascript.谢谢您的帮助.
我有:
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
Run Code Online (Sandbox Code Playgroud)
HTML
//no form just a single input field
<input type='text' id='co'>
Run Code Online (Sandbox Code Playgroud)
sac*_*een 64
document.getElementById('foo').onkeypress = function(e){
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == '13'){
// Enter pressed
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
Cas*_*ase 10
到目前为止,这些答案都还没有具体回答这个问题。问题分为两部分。1.按Enter。2.用途集中在输入上。
jQuery的
$('#input-id').on("keyup", function(e) {
if (e.keyCode == 13) {
console.log('Enter');
}
});
Run Code Online (Sandbox Code Playgroud)
香草JavaScript
inputId = document.getElementById('input-id');
inputId.addEventListener('keyup', function onEvent(e) {
if (e.keyCode === 13) {
console.log('Enter')
}
});
Run Code Online (Sandbox Code Playgroud)
这样,仅当用户按输入中的回车键时,才检测到回车键。
使其跨浏览器:
document.getElementById('foo').onkeypress = function(e) {
var event = e || window.event;
var charCode = event.which || event.keyCode;
if ( charCode == '13' ) {
// Enter pressed
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此问题:javascript事件e.which?
更新,更清洁:使用event.key而不是event.keyCode.没有更多的任意数字代码!
const node = document.getElementById('co');
node.addEventListener('keydown', function onEvent(event) {
if (event.key === "Enter") {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86316 次 |
| 最近记录: |