利用JavaScript模拟京东按键输入功能


Posted in Javascript onDecember 01, 2020

在看到这个功能的时候我也很惊讶,京东竟然做了这样的一个功能。在京东商城网页版,无论你在什么位置,只需要按下S键,就可以将光标定位到搜索栏进行搜索。虽然说这是一个很不错的功能,但是貌似没有几个人知道。

程序实现很简单,在s键上升的时候搜索框获得焦点就可以了。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>按下S键光标定位搜索框</title>
</head>
<body>
 <input type="text">
 <script>
  var search = document.querySelector('input');
  document.addEventListener('keyup',function(e){
   //可以使用console.log(e.keyCode)打印一下S键的ASCII值
   if(e.keyCode === 83){
    search.focus();
   }
  })
  //在这里使用keyup而不使用keydown,
  //keydown在键盘按下时触发,焦点放到搜索框,然后会触发S键,使S进入搜索框。
  //而使用keyup,是在键盘返回时进行得到焦点,因此搜索框中不会出现s.
 </script>
</body>
</html>

附:键盘事件keydown()与keyup()

1.键盘按下事件:keydown() 是在键盘按下就会触发

2.键盘弹起事件:keyup() 是在键盘松手就会触发

<h1>keydown()与keyup()事件</h1>
  <div style="margin:10px 0 20px 20px;">
    <input class="keydown k1" type="text" placeholder="监听keydown输入:" />
    按下显示输入的值:<em style="font-weight: 900;color: red;"></em>
  </div>
  <div style="margin:20px 0 0 20px;">
    <input class="keyup k1" type="text" placeholder="监听keyup输入:" />
    松手显示输入的值:<em style="font-weight: 900;color: red;"></em>  
  </div>
  <script src="~/Content/jquery.2.1.4.min.js"></script>
  <script>
    $(".keydown").keydown(function (e) {
      $("em").first().text(e.target.value);
    });
    $(".keyup").keyup(function (e) {
      $("em:last").text(e.target.value);
    });
  </script>

执行上述代码块可以看出

keydown 事件触发在文字还没敲进文本框,这时如果在 keydown 事件中输出文本框中的文本,得到的是触发键盘事件前的文本,而 keyup 事件触发时整个键盘事件的操作已经完成,获得的是触发键盘事件后的文本

总结

到此这篇关于利用JavaScript模拟京东按键输入功能的文章就介绍到这了,更多相关JS模拟京东按键输入内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS中剪贴板兼容性、判断复制成功或失败
Mar 09 Javascript
fckeditor 获取文本框值的实现代码
Feb 09 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 Javascript
JS性能优化笔记搜索整理
Aug 21 Javascript
JS简单实现String转Date的方法
Mar 02 Javascript
AngularJS控制器详解及示例代码
Aug 16 Javascript
loading动画特效小结
Jan 22 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
js a标签点击事件
Mar 30 Javascript
ES6学习笔记之map、set与数组、对象的对比
Mar 01 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
layui使用及简单的三级联动实现教程
Dec 01 #Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 #Vue.js
编写v-for循环的技巧汇总
Dec 01 #Javascript
jquery实现拖拽添加元素功能
Dec 01 #jQuery
创建与框架无关的JavaScript插件
Dec 01 #Javascript
jQuery实现可以扩展的日历
Dec 01 #jQuery
如何使用gpu.js改善JavaScript的性能
Dec 01 #Javascript
You might like
PHP中,文件上传
2006/12/06 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
php验证码实现代码(3种)
2015/09/07 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
快速了解Python中的装饰器
2018/01/11 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Python爬取网页信息的示例
2020/09/24 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
高中同学聚会邀请函
2014/01/11 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
如何利用python实现列表嵌套字典取值
2022/06/10 Python