javascript 中select框触发事件过程的分析


Posted in Javascript onAugust 01, 2017

javascript 中select框触发事件过程的分析

我们书写了mousedown,mouseup,click,input,change,focus,blur,keydowm,keydown事件绑定到了select上面,模拟客户选择相关事件的触发流程:

最后发现,触发的过程基本上一样,如果没有选择或者选择的是当前显示的option的话,不会触发change事件,只有在选择不同的option时候才会触发change事件。下面是选择了不同的option后触发事件的截图:

javascript 中select框触发事件过程的分析

我们可以发现,做出改变了可以触发input事件和change事件,而如果没有改变或者下拉出现了直接点击 别的地方,则不会促发这两个事件:

javascript 中select框触发事件过程的分析

附上代码:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <title>Title</title> 
</head> 
<body> 
<select name="" id="input"> 
  <option value="1">1</option> 
  <option value="">2</option> 
  <option value="">3</option> 
  <option value="">4</option> 
  <option value="">5</option> 
</select> 
</body> 
<script> 
  document.getElementById("input").addEventListener("focus",function () { 
    console.log("focus"); 
  }); 
 
  document.getElementById("input").addEventListener("mousedown",function () { 
    console.log("mousedown"); 
  }); 
 
  document.getElementById("input").addEventListener("mouseup",function () { 
    console.log("mouseup"); 
  }); 
 
  document.getElementById("input").addEventListener("input",function () { 
    console.log("input"); 
  }); 
 
  document.getElementById("input").addEventListener("change",function () { 
    console.log("change"); 
  }); 
 
  document.getElementById("input").addEventListener("blur",function () { 
    console.log("blur"); 
  }); 
 
  document.getElementById("input").addEventListener("click",function () { 
    console.log("click"); 
  }); 
 
  document.getElementById("input").addEventListener("keydown",function () { 
    console.log("keydown"); 
  }); 
 
  document.getElementById("input").addEventListener("keyup",function () { 
    console.log("keyup"); 
  }); 
 
  document.getElementById("input").addEventListener("select",function () { 
    console.log("select"); 
  }); 
 
 
</script> 
</html>

以上就是javascript 中select框触发事件过程的分析,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
AngularJS国际化详解及示例代码
Aug 18 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
JavaScript重定向URL参数的两种方法小结
Oct 19 Javascript
webpack-url-loader 解决项目中图片打包路径问题
Feb 15 Javascript
微信小程序自定义弹窗实现详解(可通用)
Jul 04 Javascript
js实现多张图片每隔一秒切换一张图片
Jul 29 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 Javascript
使用Typescript开发微信小程序的步骤详解
Jan 12 Javascript
谈谈对vue响应式数据更新的误解
Aug 01 #Javascript
详解jquery选择器的原理
Aug 01 #jQuery
浅谈node中的exports与module.exports的关系
Aug 01 #Javascript
Vue2.0 组件传值通讯的示例代码
Aug 01 #Javascript
谈谈VUE种methods watch和compute的区别和联系
Aug 01 #Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 #Javascript
详解js静态资源文件请求的处理
Aug 01 #Javascript
You might like
php简单实现无限分类树形列表的方法
2015/03/27 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
精彩自我鉴定
2014/01/16 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
全网非常详细的pytest配置文件
2022/07/15 Python