应用场景:

1. 搜索框在页面中占据的空间过小,希望无论浏览到什么位置,可以轻易地回到并聚焦搜索框。

2. 搜索框里面的文字大小过小,希望能够在上方开辟一块空间放大内容

解决思路:

1. 对整个页面添加键盘事件keyup类型的侦听器,然后使用e.keyCode属性来获得用户按下的键,如果是s/S,就让搜索框聚焦。

2. 对搜索框添加键盘事件keyup类型的侦听器,将搜索框的value赋给放大内容盒子(我用的是<p>标签)的innerText,如果不为空,就将盒子通过style.display:block显示出来。

2补充. 刚刚只是实现了搜索框有内容的时候将其放大,但是当其失去焦点,即使有内容也不应放大,重新获得焦点时如果有内容就放大。

可玩味之处:两个键盘事件都得是keyup而不是keydown或者keypress

效果(请看官脑补动态效果)

代码(css写在style标签内,js写在script标签内)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件进阶</title><style>div p {display: none;font-size: large;background-color: #FFFDE7;}</style>
</head>
<body><div><p>123</p><input type="text"><button>搜索</button></div></body>
<script>var search = document.querySelector('input');document.addEventListener('keyup',function(e){if(e.keyCode === 83||e.keyCode === 115){console.log("keyup:"+e.keyCode);search.focus();}})var magnify = search.previousElementSibling;console.log(magnify);search.addEventListener('keyup',function(e){magnify.innerText = search.value;if(magnify.innerText!=''){magnify.style.display = 'block';}else{magnify.style.display = 'none';}})search.addEventListener('blur',function(){magnify.style.display = 'none';})search.addEventListener('focus',function(){if(search.value!=''){magnify.style.display = 'block';}})</script>
</html>

JavaScript实现智能搜索框相关推荐

  1. 淘宝购物车页面 智能搜索框Ajax异步加载数据

    如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...

  2. JAVA ajax搜索框_JS+Ajax实现百度智能搜索框

    首先浏览实现后的结果,输入一个a之后会出现包含a的下拉列表,当我们点击某一个的时候,搜索框中就会出现点击的值.实现所需要的主要是ajax+js. 前端search.jsp pageEncoding=& ...

  3. 智能搜索框html代码,js实现搜索框关键字智能匹配代码

    只要使用搜索引擎的朋友应该都有这样的体会,就是当在搜索框输入关键字的时候,会出现自能匹配现象,这绝对是非常好的用户体验,下面就是一段类似的代码,当然这里只是掩饰,所以只能匹配的数据都是本地固定好的,在 ...

  4. JavaScript仿新浪微博搜索框功能

    <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title> ...

  5. JavaScript实现百度搜索框提示

    案例---百度搜索框提示 文章目录 一.代码 二.代码解释 效果图(百度): 输入aa后底下就会出现相对应和aa有关系的一些提示. 一.代码 <!DOCTYPE html> <htm ...

  6. 原生JavaScript实战之搜索框筛选功能

    成品图如下所示: 先搭建HTML结构: 1 <div class="wrapper"> 2 <div class="sWrapper"> ...

  7. Android开源实战:简单好用、含历史搜索记录的智能搜索框

    前言 Android开发中,类似下图的搜索功能非常常见 今天,我将带来一款 封装了 历史搜索记录功能 & 样式 的Android 自定义搜索框 开源库,希望你们会喜欢. 已在Github开源: ...

  8. javascript实现小米搜索框

    鼠标点击出现下拉菜单 效果展示: 代码: <!DOCTYPE html> <html lang="en"><head><meta char ...

  9. EasyUI–常用控件之按钮/搜索框/密码框/文件框/数字框/日期时间选择框

    点此查看全部文字教程.视频教程.源代码 本篇主要介绍跟后台数据绑定相关度不大的简单控件,直接写了一个详细的例子,需要说明的东西都在注释里面. 先看示意图: <%@ page language=& ...

最新文章

  1. 大一就会这么多,还在问有没有前途? | 每日趣闻
  2. 斯洛文尼亚接受BCH支付的商家达343家,日本和北昆士兰州对BCH接受度增长迅速
  3. HDLBits 系列(27)孰对孰错 之 Fsm onehot?
  4. python学习-练习题9*9乘法表巩固
  5. CodeForces 407C
  6. 接受拒绝算法_通过算法拒绝大学学位
  7. Golang Clearing slice
  8. linux闹钟软件下载,电量充满警示闹铃
  9. 项目alpha冲刺-总结
  10. es查询大文本效率_进一步提高Elasticsearch的检索效率
  11. 【Unity】3.1 利用内置的3D对象创建三维模型
  12. 【NOIP2018】游记
  13. 原生拦截WebView页面下载链接跳转空白页问题
  14. 计算机专业考研北京有哪些学校,计算机考研北京地区学校大全!
  15. win7系统备份还原软件_十分不错的系统还原工具 一键还原备份系统软件 一键还原备份SGIMINI4.0通用版本...
  16. Fedora系统之打开终端快捷键设置
  17. C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;
  18. 画一幅山水画,有庐山,日出,牛
  19. 【Webpack5笔记】Webpack高级配置---提升开发体验
  20. 最小二乘法直线拟合、圆拟合

热门文章

  1. ant models 内获取 url 的参数传递到组件
  2. [初级]深入理解乐观锁与悲观锁
  3. wireshark-wincap安装问题
  4. Storybook 5.0正式发布:有史以来变化最大的版本\n
  5. Python安装及netcdf数据读写
  6. 分享:用promise封装ajax
  7. java静态代理与动态代理
  8. JDBC操作MySQL Lob字段记实
  9. Linux6版本系统搭建Open***远程访问
  10. qt 拖拽 修改大小(二)