- <input type="text">
- <script>
- const input = document.querySelector('input')
- input.addEventListener('focus',function(){
- console.log('有焦点触发')
- })
- input.addEventListener('blur',function(){
- console.log('失去焦点触发')
- })
- script>
- body>
小米搜索框
需求:当表单得到焦点,显示下拉菜单,失去焦点隐藏下拉菜单
- DOCTYPE html>
-
-
-
-
-
Document -
- * {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- }
-
- ul {
-
- list-style: none;
- }
-
- .mi {
- position: relative;
- width: 223px;
- margin: 100px auto;
- }
-
- .mi input {
- width: 223px;
- height: 48px;
- padding: 0 10px;
- font-size: 14px;
- line-height: 48px;
- border: 1px solid #e0e0e0;
- outline: none;
- }
-
- .mi .search {
- border: 1px solid #ff6700;
- }
-
- .result-list {
- display: none;
- position: absolute;
- left: 0;
- top: 48px;
- width: 223px;
- border: 1px solid #ff6700;
- border-top: 0;
- background: #fff;
- }
-
- .result-list a {
- display: block;
- padding: 6px 15px;
- font-size: 12px;
- color: #424242;
- text-decoration: none;
- }
-
- .result-list a:hover {
- background-color: #eee;
- }
-
-
-
-
- // 1. 获取元素
- const input = document.querySelector('[type=search]')
- const ul = document.querySelector('.result-list')
- // console.log(input);
- // 2. 监听事件 获得焦点
- input.addEventListener('focus',function(){
- // ul 显示
- ul.style.display = 'block'
- // 添加一个带有颜色边框的类名
- input.classList.add('search')
- })
- // 3. 监听事件 失去焦点
- input.addEventListener('blur',function(){
- ul.style.display = 'none'
- input.classList.add('search')
- })
-
-