请问vimium(chrome的插件)是怎么判断当前焦点是否为输入框的??

我也好奇过这个问题…… 研究表明 Vimium 监听 document 的 focus 及 blur 事件,并观察该事件的对象是否为「Focusable」:
isFocusable = (element) -> isEditable(element) || isEmbed(element)

如果该对象 focusable,则进入 insert mode。如果不,则进入 normal mode。另外还有一上来就是处在 focusable 元素中的状况也做了判断。详见 github.com/philc/vimium
原发布于 https://www.zhihu.com/question/23410283/answer/24502236