与input相关的事件运行的过程。添加了一些相关的方法测试了一下。input的type=file的运行流程。

我们书写了mousedown,mouseup,click,input,change,focus,blur绑定到了input上面,模拟点击选择了一个文件,触发事件的流程是下面这样的:

(1)mousedown
(2)focus
(3)mouseup
(4)click
(5)blur
(6)focus
(7)change

首先触发了鼠标按下事件,然后就是焦点到了input上面,然后鼠标抬起,触发click点击事件,失去焦点以后弹出了文件选择框,选中文件以后触发焦点,最后触发的change事件。

如果你没有选择文件的话,直接点击取消的话,就不会触发change事件。

所以说,如果要监听input 的type=file的内容变更事件的话,最好直接用change事件去监听。

附上案例代码:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="file" id="input">
</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");
}); </script>
</html>

最新文章

  1. Unity: Invalid serialized file version xxx Expected version: 5.3.4f1. Actual version: 5.3.5f1.
  2. 用struts2获取session、request、parmeter的方法
  3. 来抢你们IT狗的饭碗了
  4. C语言误区
  5. SQL SERVER 2012 使用订阅发布同步数据库
  6. (C#).NET 2.0 ~ 4.0 OS requirements.
  7. git merge简介(转)
  8. ebtables使用
  9. Jquery插件之ajaxForm ajaxSubmit的理解用法
  10. 函数调用过程&amp;生成器解释
  11. 洛谷mNOIP模拟赛Day2-星空
  12. 带着萌新看springboot源码10(springboot+JdbcTemplate+druid)
  13. UVA 679 二叉树
  14. zabbix的api接口
  15. 关键字New,如阴魂不散
  16. 使用swiper插件,隐藏swiper后再显示,不会触发自动播放的解决办法
  17. 【杂谈】Starter Template
  18. sysdig
  19. python docker库
  20. fdisk与parted分区

热门文章

  1. execute() 和 sumbit() 的区别
  2. tomcat加载web项目报错:bad major version at offset=6
  3. Spring IOC(八)bean 的创建
  4. 52ABP视频学习
  5. Linux修改/etc/profile配置错误command is not found自救方法
  6. is not allowed to connect to this MySQL server解决办法
  7. 字符串匹配 - sunday算法
  8. 【UI测试】--多窗口&系统资源
  9. GC垃圾收集器分类
  10. markdown中自己偶尔需要的小技巧