KeyboardEvent是否始终先于InputEvent触发?textarea事件回调顺序确认
KeyboardEvent 与 InputEvent 的触发顺序确认
在你描述的textarea绑定场景中,keydown事件对应的keyDown()函数一定会先于input事件的inputEvent()执行,这是DOM事件机制的标准行为,不存在例外情况。
具体逻辑如下:
- 当用户通过键盘操作textarea时,事件触发遵循固定流程:首先触发键盘系列事件(
keydown是第一个触发的键盘事件,随后是keypress,最后是keyup);只有当这次键盘操作导致了textarea的内容发生变化时,才会在键盘事件流程结束后触发input事件。 keydown触发时,textarea的内容尚未被修改;而input事件的触发时机是内容更新完成之后,两者的触发顺序是明确且固定的。
哪怕是退格、删除这类修改内容的按键操作,keydown依然会先于input触发,你可以通过在两个函数中添加控制台输出的方式快速验证这一点。
内容的提问来源于stack exchange,提问作者Fifi
相关产品推荐
相关产品推荐

