input的type=file触发的相关事件
来源:互联网 发布:strcontains php 编辑:程序博客网 时间:2024/06/15 16:17
今天突然用到input相关的事件,突然发现自己还没有总结过input相关事件的运行原理。而且我还竟然翻api去了解了,所以,为了记恨自己,就写了相关与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>
阅读全文
0 0
- input的type=file触发的相关事件
- INPUT[type=file]的change事件不触发问题
- input输入框type=text触发的相关事件
- ajax回调函数中不能触发input[type='file']事件的解决方法
- 关于input[type=file] change事件只能触发一次的问题
- input type="file" 的onchange事件
- input type="file" 的onchange事件
- onclick事件触发 input type=“file” 上传文件
- 关于input[type=file]表单控件的相关知识点
- JQuery绑定input[type=file]的change事件问题
- chrome下input:file无法触发click事件的问题
- html5系列:伪主动触发input:file的click事件
- 伪主动触发input:file的click事件
- IE下按回车自动触发input type=submit的按钮点击事件
- input:file的js触发
- input type="file" 样式的模仿
- input type=file的清空
- input[type="file"]的样式修改
- linux内核代码风格(中文)
- (数学)HDU 6043 KazaQ's Socks
- 【结构型模式】《大话设计模式》——读后感 (14)分公司=一部门?——组合模式
- 【JTS】利用JTS生成R树索引
- 【行为型模式】《大话设计模式》——读后感 (15)烤羊肉串引来的思考?——命令模式
- input的type=file触发的相关事件
- Android进阶之数据库框架ormlite使用
- WKWebView无法接受到JS调用原生方法的回调.
- 【行为型模式】《大话设计模式》——读后感 (16)加薪非要老板批?——职责链模式
- 2017 Multi-University Training Contest
- 利用python代码求质数
- Java泛型通配符
- spring中获取bean的两种方式
- 深度学习的入门方法