利用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 相关文章推荐
15 个 JavaScript Web UI 库
May 19 Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
JavaScript+CSS相册特效实例代码
Sep 07 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
element-ui的回调函数Events的用法详解
Oct 16 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
详解微信小程序开发(项目从零开始)
Jun 06 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采集相关教程之一 CURL函数库
2010/02/15 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
javascript this用法小结
2008/12/19 Javascript
JS中操作JSON总结
2020/12/06 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
pytorch实现线性拟合方式
2020/01/15 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
2014年计生工作总结
2014/11/21 职场文书
志愿者事迹材料
2014/12/26 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
Python OpenCV超详细讲解基本功能
2022/04/02 Python