javascript 中select框触发事件过程的分析

 更新时间:2017年08月01日 15:26:34   作者:专注前端30年  
这篇文章主要介绍了javascript 中select框触发事件过程的分析的相关资料,这里对select 触发过程进行了深入分析,帮助大家理解这部分内容,需要的朋友可以参考下

javascript 中select框触发事件过程的分析

我们书写了mousedown,mouseup,click,input,change,focus,blur,keydowm,keydown事件绑定到了select上面,模拟客户选择相关事件的触发流程:

最后发现,触发的过程基本上一样,如果没有选择或者选择的是当前显示的option的话,不会触发change事件,只有在选择不同的option时候才会触发change事件。下面是选择了不同的option后触发事件的截图:

我们可以发现,做出改变了可以触发input事件和change事件,而如果没有改变或者下拉出现了直接点击 别的地方,则不会促发这两个事件:


附上代码:

<!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框触发事件过程的分析,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • js实现图片和链接文字同步切换特效的方法

    js实现图片和链接文字同步切换特效的方法

    这篇文章主要介绍了js实现图片和链接文字同步切换特效的方法,涉及javascript操作文字及图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 微信小程序实现计算器(含历史记录)

    微信小程序实现计算器(含历史记录)

    这篇文章主要为大家详细介绍了微信小程序实现计算器,含历史记录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • electron如何使用typescript

    electron如何使用typescript

    引入 TypeScript 到 Electron 项目可以帮助你捕捉错误并在编写代码时提供更好的自动完成和文档,这篇文章主要介绍了electron使用typescript的步骤,需要的朋友可以参考下
    2024-04-04
  • JavaScript事件对象event用法分析

    JavaScript事件对象event用法分析

    这篇文章主要介绍了JavaScript事件对象event用法,结合实例形式分析了事件对象event中常用的属性、方法、相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • js中的WebSocket使用及说明

    js中的WebSocket使用及说明

    这篇文章主要介绍了js中的WebSocket使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • JS操作XML实例总结(加载与解析XML文件、字符串)

    JS操作XML实例总结(加载与解析XML文件、字符串)

    这篇文章主要介绍了JS操作XML的方法,结合实例形式总结分析了JavaScript加载与解析XML文件及字符串的相关技巧,需要的朋友可以参考下
    2015-12-12
  • 利用JS响应式修改vue实现页面的input值

    利用JS响应式修改vue实现页面的input值

    这篇文章主要给大家介绍了关于如何利用JS响应式修改vue实现页面的input值,文中通过示例代码介绍的非常详细,对大家学习或者使用JS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • url传递的参数值中包含&时,url自动截断问题的解决方法

    url传递的参数值中包含&时,url自动截断问题的解决方法

    下面小编就为大家带来一篇url传递的参数值中包含&时,url自动截断问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • js自定义弹框插件的封装

    js自定义弹框插件的封装

    这篇文章主要为大家详细介绍了js自定义弹框插件的简单封装,自己封装一个弹框插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • javascript中闭包概念与用法深入理解

    javascript中闭包概念与用法深入理解

    这篇文章主要介绍了javascript中闭包概念与用法,结合实例形式深入分析了javascript中闭包的概念、使用方法与相关注意事项,需要的朋友可以参考下
    2016-12-12

最新评论