利用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 相关文章推荐
锋利的jQuery 要点归纳(一) jQuery选择器
Mar 21 Javascript
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
JS动态给对象添加事件的简单方法
Jul 19 Javascript
理解javascript中的闭包
Jan 11 Javascript
js获取浏览器的各种属性
Apr 27 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
VueJs监听window.resize方法示例
Jan 17 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 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搜索文件程序分享
2015/10/30 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
Python获取指定字符前面的所有字符方法
2018/05/02 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python检测服务器端口代码实例
2019/08/31 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python netmiko模块的使用
2020/02/14 Python
python中shell执行知识点
2020/05/06 Python
Python列表如何更新值
2020/05/27 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
巴西网上药房:onofre
2016/11/21 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
会计主管岗位职责
2014/01/03 职场文书
经营目标管理责任书
2014/07/25 职场文书
研讨会致辞
2015/07/31 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python