选项卡键盘上的preventDefault事件在连续键入期间重置光标位置

时间:2019-02-07 17:17:46

标签: javascript reactjs events gmail preventdefault

带有preventDefault的选项卡按键事件,当选项卡是一系列连续击键的最后一个键时,将光标位置重置为开始位置

我有一个在响应中写的chrome gmail扩展,它覆盖了选项卡的行为。仅当tab是光标闪烁中唯一单击的键盘事件时,事件侦听器中的preventDefault和stopImmediatePropagation似乎才起作用。如果tab是连续连续击键过程中按下的最后一个字符,则尽管事件仍保留默认设置,但光标会重置为所编写消息的开头。此行为仅适用于Tab键-例如,当阻止“ q”时,同一事件侦听器可以正常工作。仅当我在preventDefault之后关注contentEditable时,选项卡预防才似乎起作用

ENV

即使制表键是一系列按键的最后一个,如何保持正确的光标位置?

1 个答案:

答案 0 :(得分:0)

想通了:

Gmail为选项卡keydown事件附加了自己的侦听器,以防止Default()并将焦点更改到窗口级别的下一个元素。要首先捕获事件,您需要在窗口上使用capture:true设置事件监听器。