利用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 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
Nov 05 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
javascript深拷贝(deepClone)详解
Aug 24 Javascript
AngularJs  E2E Testing 详解
Sep 02 Javascript
简单实现node.js图片上传
Dec 18 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
Vue-cli3项目引入Typescript的实现方法
Oct 18 Javascript
Javascript中的this,bind和that使用实例
Dec 05 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 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 在线打包_支持子目录
2008/06/28 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
python实现超简单的视频对象提取功能
2018/06/04 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
python如何进行矩阵运算
2020/06/05 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
公司贷款承诺书
2014/05/30 职场文书
企业公益活动策划方案
2014/08/24 职场文书
销售人员工作自我评价
2014/09/21 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android