网站开发人员希望读者以某种方式与他们的网站进行交互。访问者可以上下滚动页面、在输入字段中写入内容、单击链接访问另一个页面,或者按组合键触发特定行为。作为开发人员,您应该能够捕获所有这些事件并向用户提供所需的功能。
在本教程中,我们的重点将是在JavaScript中处理键盘事件。我们将了解不同类型的键盘事件、处理特殊按键事件以及获取有关按下或释放的按键的信息。
键盘事件分为三种类型。这些称为keydown、keypress和keyup。
只要按下某个键,就会触发keydown事件。所有键都会被触发。它们是否产生角色价值并不重要。例如,按键盘上的A或Alt键将触发keydown事件。
立即学习“Java免费学习笔记(深入)”;
keypress事件已弃用。它仅在按下产生字符值的键时触发。例如,按A键将触发此事件,但按Alt键则不会。您应该考虑使用keydown事件来代替它。
当用户按下的键被释放时,将触发keyup事件。
假设用户连续按下键盘上的任意键。在这种情况下,keydown事件将被重复触发。一旦用户释放密钥,就会触发keyup事件。
此时,我想提一些相当明显的事情。键盘是一种输入设备,用于从用户那里获取一些输入。我们根据该输入采取行动。但是,用户还有其他方式发送输入。
如果您想跟踪用户在表单中填写的任何输入字段,那么在所述输入上使用其他事件(例如change)更有意义。
此外,键盘事件仅为可以接收焦点的元素生成。这包括元素、
例如,除非设置tabindex或contentEditable属性,否则您将无法侦听段落元素上的键盘事件。但是,它最终会在DOM树中冒泡,因此您仍然可以将keydown或keyup事件侦听器附加到文档。
这是一个例子: