文章导读
大家好,我是顺亿,今天咱们来聊聊 input 输入框的那些事儿。你有没有想过,当你在输入框里输入文字时,背后会发生哪些事件呢?今天我就来给大家详细解析一下 input 输入框的事件,让你对它们了如指掌!正文部分
1、从input框获取焦点到,输入值,失去焦点这个过程所有事件,以及一些特点;
过程:
- onfocus -> 键盘输入 -> onkeydown -> onkeypress -> onkeyup -> oninput -> 失去焦点 -> onchange -> onblur
注意:
onchange 事件并不是每次输入框值改变的时候触发的,而是在失去焦点时候,并且在 onblur 之前触发;oninput则是改变时时触发。
2、说说这些事件
onfocus
并没有什么特别的,就是当焦点转移到(点击,tab切换) input 框上边的时候触发;
onkeydown
键盘按下的时候触发,但是此时按下的值并没有被输入到 input ,所以,此时的 value 没有值,或者说它的值 只能是之前的旧值
onkeypress
按键在按下之后,并且是按键松开之前触发的;和 keydown 一样不能获取新的到 value;此时,也可以阻止按键的默认事件;
oninput
这个事件很贼,它的触发时机,从上面就可以看到,onpress 之后 onkeyup 之前;
onkeyup
按键在松开之后触发的;能获取新的到 value,keycode;此时,不可以阻止按键的默认事件;
onchange
你敢说这是你认识的onchange吗?反正我是不敢;在失去焦点之后触发的,明明是 onchange 为什么是在失去焦点后触发的,还偏偏比 onblur 快;能获取新的到 value,不能拿到 keycode;此时,不可以阻止按键的默认事件;
onblur
失去焦点时候触发,但是还是比 onchange 慢了;能获取新的到 value,不能拿到 keycode;
小结与拓展
好了,今天关于 input 输入框的事件就聊到这里。通过这篇文章,相信大家对 input 输入框的事件有了更深入的了解。如果你还有其他问题,欢迎在评论区留言讨论。我是顺亿,我们下期再见!
想要了解更多编程知识,请关注「趣航编程网」(www.vqhf.com)。
