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 valueOf 使用方法
Dec 28 Javascript
关于jquery动态增减控件的一些想法和小插件
Aug 01 Javascript
jquery click([data],fn)使用方法实例介绍
Jul 08 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 Javascript
JavaScript提升性能的常用技巧总结【经典】
Jun 20 Javascript
基于jQuery实现表格内容的筛选功能
Aug 21 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 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模板,主要想体现一下思路
2006/12/25 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
php防止sql注入代码实例
2013/12/18 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
PHP培训要多少钱
2017/06/06 PHP
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
django下创建多个app并设置urls方法
2020/08/02 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
毕业自荐书
2013/12/09 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
学习决心书
2014/03/11 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL