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中apply和call方法的作用及区别说明
Feb 14 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
浅谈js的setInterval事件
Dec 05 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
Aug 25 Javascript
学习JavaScript设计模式(链式调用)
Nov 26 Javascript
JavaScript中立即执行函数实例详解
Nov 04 Javascript
解决node修改后需频繁手动重启的问题
May 13 Javascript
浅谈Express.js解析Post数据类型的正确姿势
May 30 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 Javascript
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 Javascript
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
谈谈对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中Object对象的笔记分享
2011/06/28 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
python在不同层级目录import模块的方法
2016/01/31 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
优秀的教师个人的中文求职信
2013/09/21 职场文书
本科毕业生自我鉴定
2013/11/02 职场文书
给领导的致歉信范文
2014/01/13 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
2014年检验科工作总结
2014/11/22 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang