<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text"> <script> var input=document.querySelector("input"); document.addEventListener('keyup',function(e){ //console.log(e.keyCode); if(e.keyCode===83) { input.focus(); } }) </script> </body> </html>
效果:当用户键盘上按下"s"键时,搜索框会自动获得焦点
核心思路:检测用户是否按下了"s"键,如果按下了,就把光标定位到搜索框里
使用键盘事件对象里面的keyCode 判断用户按下的是否是 "s" 键
注意:键盘事件使用"keyup",如果使用"keydown",用户一按下s键,不仅获得光标,还会把“s”输入 到搜索框中,因为只要s键不弹起,就会一直触发这个键盘事件,而用keyup事件,键盘一弹 起,按键结束,就可以避免把"s"输入到搜索框中。