当您在输入标签中键入一些字符时,我想显示所有keyCode。
ob是输入,将函数checkWord
与事件onkeydown
绑定,为什么console.log无法显示其键码值?
ob = window.document.getElementById("check");
function checkWord(){
console.log(onkeydown.keyCode);
}
ob.addEventListener("onkeydown",checkWord);
<input id="check" type="text">
我希望console.log在输入标签中键入65
时显示a
。
答案 0 :(得分:1)
嗯,你可以那样做:
// Getting Element
const textInput = document.getElementById("textInput");
// Adding event listener
textInput.addEventListener("keyup", event => {
console.log(event.keyCode);
});
<input type="text" id="textInput">
在您的代码中,它看起来像这样:
const ob = document.getElementById("check");
ob.addEventListener("keydown",checkWord);
function checkWord(event){
console.log(event.keyCode);
}
<input type="text" id="check">
这主要不起作用,因为您使用了错误的事件名称(onkeydown
-> keydown
),并且没有将事件传递给函数。
顺便说一句:onkeydown
存在但被这样使用:
object.onkeydown = function;
onkeydown
和addEventLisener
之间的区别在于onkeydown
被定义一次,并且可以使用事件监听器随意添加到同一事件。
// Adds listener
object.onkeydown = function0;
// Overwrites the old listener
object.onkeydown = function1;
// Add listener
object.addEventLisener("keydown", function0);
// Add another listener to the stack
object.addEventLisener("keydown", function1);
答案 1 :(得分:1)
您有两个问题
keydown
。 keyCode
是event
的属性,该属性已传递给您的处理程序
ob = window.document.getElementById("check");
function checkWord(e){
console.log(e.keyCode);
}
ob.addEventListener("keydown",checkWord);
<input id="check" />