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 相关文章推荐
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
js动态切换图片的方法
Jan 20 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Feb 15 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
详解微信小程序input标签正则初体验
Aug 18 Javascript
vue-cli的工程模板与构建工具详解
Sep 27 Javascript
微信小程序日历弹窗选择器代码实例
May 09 Javascript
javascript json对象小技巧之键名作为变量用法分析
Nov 11 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
Feb 12 Javascript
javascript实现倒计时关闭广告
Feb 09 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类中Static方法效率测试代码
2010/10/17 PHP
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
python要安装在哪个盘
2020/06/15 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
美国网上订购鲜花:FTD
2016/09/23 全球购物
中专毕业生自荐信
2013/11/16 职场文书
市场安全管理制度
2014/01/26 职场文书
欢送退休感言
2014/02/08 职场文书
国庆促销活动总结
2014/08/29 职场文书
铣工实训报告
2014/11/05 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang