利用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文字滚动停顿效果代码
Jun 28 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
javascript中&quot;/&quot;运算符常见错误
Oct 13 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
js构造函数、索引数组和属性的实现方式和使用
Nov 16 Javascript
jQuery数据类型小结(14个)
Jan 08 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 Javascript
vue.js使用v-if实现显示与隐藏功能示例
Jul 06 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 Javascript
前端框架ECharts dataset对数据可视化的高级管理
Dec 24 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
Discuz! Passport 通行证整合
2008/03/27 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
php实现Session存储到Redis
2015/11/11 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
javascript 函数速查表
2010/02/07 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Python类的动态绑定实现原理
2020/03/21 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
客服实习的个人自我鉴定
2013/10/20 职场文书
硕士生工作推荐信
2014/03/07 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
关于长城的导游词
2015/01/30 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
家庭经济困难证明
2015/06/23 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书