jQuery 键盘事件

x33g5p2x  于2022-03-06 转载在 其他  
字(2.5k)|赞(0)|评价(0)|浏览(610)

概念

个人理解:

在浏览器中,当用户操作键盘是,会触发键盘事件,触发的键盘事件主要有3种:keydown、keypress、keyup。

keypress() 事件函数

说明:

当键盘或按钮被按下时,发生 keypress 事件。keypress 事件与 keydown 事件类似。当按钮被按下时,会发生该事件。它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。
如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。

keypress事件不会触发所有的键,比如AltCtrlShiftESC等。
语法:

触发被选元素的 keypress 事件:

  1. $(selector).keypress()

添加函数到 keypress 事件:

  1. $(selector).keypress(function)

解释:

keypress()事件的参数是回调函数,当keypress事件触发时运行回调函数。
示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery.min.js"></script>
  6. <script>
  7. i=0;
  8. $(document).ready(function(){
  9. $("input").keypress(function(){
  10. $("span").text(i+=1);
  11. });
  12. });
  13. </script>
  14. </head>
  15. <body>
  16. 输入你的名字: <input type="text">
  17. <p>按键的次数: <span>0</span></p>
  18. </body>
  19. </html>

keydown() 事件函数

说明:

当键盘或按钮被按下时,发生 keydown 事件。如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。

语法:

触发被选元素的 keydown 事件:

  1. $(selector).keydown()

添加函数到 keydown 事件:

  1. $(selector).keydown(function)

解释:

keydown()方法的参数是回调函数,当keydown事件触发时运行回调函数。在回调函数中,可以使用event.which属性判断哪个键被按下。一般keydown()keyup()配合一起使用。

keyup() 事件函数

说明:

当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。

语法:

触发被选元素的 keyup 事件:

  1. $(selector).keyup()

添加函数到 keyup 事件:

  1. $(selector).keyup(function)

解释:

keyup()方法的参数是回调函数,当keyup事件触发时运行该回调函数。
示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="jquery.min.js"></script>
  6. <script>
  7. $(document).ready(function(){
  8. $("input").keydown(function(){
  9. $("input").css("background-color","yellow");
  10. });
  11. $("input").keyup(function(){
  12. $("input").css("background-color","pink");
  13. });
  14. });
  15. </script>
  16. </head>
  17. <body>
  18. 输入你的名字: <input type="text">
  19. <p>在以上输入框中输入你的名字。在按键按下后输入框背景颜色会改变。</p>
  20. </body>
  21. </html>

event.which 属性

说明:

我们在使用键盘事件时,有时需要知道哪个键被按下了,获取哪个键被按下可以使用event.which属性。当相应的事件触发,会执行其回调函数,可以把event作为回调函数的参数。

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="jquery.min.js"></script>
  5. <script>
  6. $(document).ready(function(){
  7. $("input").keyup(function(event){
  8. $("div").html("Key: " + event.which);
  9. });
  10. });
  11. </script>
  12. </head>
  13. <body>
  14. 请输入: <input type="text">
  15. <div />
  16. </body>
  17. </html>

上面代码中,获取输入框的值后,通过event.which属性可以知道用户输入了哪个键,event.which属性返回的是键盘码,我们可以可以使用event.keyCode属性获取键盘码。如果想要直接获取用户输入的内容,可以使用event.key属性,返回的是用户输入的字符串。

相关文章