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 相关文章推荐
使用正则替换变量
May 05 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
jquery checkbox实现单选小例
Nov 27 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
jquery队列函数用法实例
Dec 16 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
使用JQuery中的trim()方法去掉前后空格
Sep 16 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
使用ThinkJs搭建微信中控服务的实现方法
Aug 08 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
Mar 02 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/10/09 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
详解JavaScript中的every()方法
2015/06/08 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
python实现京东秒杀功能
2018/07/30 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
出国留学介绍信
2014/01/13 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
2014年行政部工作总结
2014/11/19 职场文书
长城导游词
2015/01/30 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers