利用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 相关文章推荐
javascript showModalDialog,open取得父窗口的方法
Mar 10 Javascript
深入理解JavaScript中的传值与传引用
Dec 09 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
Feb 28 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
JS按回车键实现登录的方法
Aug 25 Javascript
jQuery中:nth-child选择器用法实例
Dec 31 Javascript
js如何实现淡入淡出效果
Nov 18 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 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
多文件上传的例子
2006/10/09 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
在Python中使用第三方模块的教程
2015/04/27 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python GUI实例学习
2017/11/21 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
python实现石头剪刀布小游戏
2021/01/20 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
怎样写留学自荐信
2013/11/11 职场文书
师范生求职自荐信
2014/06/14 职场文书
贷款委托书
2014/08/01 职场文书
2015年小学开学寄语
2015/02/27 职场文书
公司行政管理制度范本
2015/08/05 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏