javascript - 如何正确使用按键事件
问题描述
我让这段代码在鼠标点击事件中工作得很好。
var nodes = document.querySelectorAll('.myclass');
for(var i=0; i < nodes.length; i++){
var node = nodes[i];
node.addEventListener('click', function () {
if(this.className == 'sample') {
document.getElementById("massage").innerHTML="Hello";
}
}, false);
}
现在,如果我只是替换'click'
为'keypress'
所有小写字母,则不会触发该事件。做这件事的正确方法是什么。
如果我想使用 Lambda,那么相同任务的正确方法是什么?
document.querySelectorAll('.myclass').addEventListener('mouseover', () => {
document.addEventListener('keypress', ({ key }) => {
if(this.className == 'sample') {
document.getElementById("massage").innerHTML="Hello";
}
});
});
解决方案
MDN 文档说不要再使用keypress
了。还说它不适用于所有按键。它也适用于按键,而不是鼠标点击。不一样的活动!
推荐阅读
- superset - 超集可以支持实时仪表板吗?
- r - 编译 RcppArmadillo 时遇到问题 - 未找到库 gfortran
- android - 在底部导航视图中返回堆栈时片段重叠
- sql - 带有月份名称的 SQL 存储结果表
- python - 我应该为 knn 标准化还是标准化我的数据集?
- python - 读入两个文件并用合并的字符串写入第三个文件
- reactjs - 如何在反应中改变 reactstrap 模态的样式?
- javascript - 如何在 java 脚本中获取用户输入并在页面上显示此输入?
- c - 在另一个 .c 文件上声明函数使浮点乘法始终为 0
- python - 识别和删除 pandas 时间序列中的无效时间步