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之自定义类型
May 04 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 Javascript
动态加载js的方法汇总
Feb 13 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
深入理解js generator数据类型
Aug 16 Javascript
JS限制输入框输入的实现代码
Jul 02 Javascript
React 组件渲染和更新的实现代码示例
Feb 21 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 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查询mssql出现乱码的解决方法
2014/12/29 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
js变量以及其作用域详解
2020/07/18 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
vue实例的选项总结
2020/06/09 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
python采集博客中上传的QQ截图文件
2014/07/18 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
python代码中怎么换行
2020/06/17 Python
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
公司门卫的岗位职责
2014/02/19 职场文书
高级工程师英文求职信
2014/03/19 职场文书
中华魂演讲稿
2014/05/13 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
死者家属慰问信
2015/03/24 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
mysql主从复制的实现步骤
2021/10/24 MySQL
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL