利用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实现简单的Canvas画图实例
Jul 04 Javascript
js获取url参数值的两种方式
Sep 10 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
Jan 25 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
js自定义input文件上传样式
Oct 26 Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
小程序采集录音并上传到后台
Nov 22 Javascript
ES6字符串的扩展实例
Dec 21 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获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
php技巧小结【推荐】
2017/01/19 PHP
Yii全局函数用法示例
2017/01/22 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
Python 字典dict使用介绍
2014/11/30 Python
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
python跳出双层for循环的解决方法
2019/06/24 Python
简单了解python的break、continue、pass
2019/07/08 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
python如何判断IP地址合法性
2020/04/05 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
会计专业自我鉴定
2014/02/10 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
教育见习报告范文
2014/11/03 职场文书