ContentEditable元素不会对热键做出反应

时间:2011-01-17 14:39:28

标签: javascript dom google-chrome-extension contenteditable

我正在开发一个Chrome扩展程序,它将JS代码注入所有打开的标签页。此代码的任务包括显示文本框,实现为contentEditable <div>以允许格式化。但是,contentEditable元素在某些网站上效果不佳,例如鸣叫声。

亲自尝试:

  1. 转到twitter.com
  2. javascript:document.body.setAttribute('contentEditable', true);粘贴到地址栏中,然后按Enter键。
  3. 单击文档中的任意位置 - 您现在应该可以编辑文本。
  4. 尝试输入jk。您将看到:字符不会出现,而是移动选择(列表中的推文将突出显示)。
  5. 我努力了解Twitter的键盘导航是如何实现的,但却找不到任何提示。你能否给我一些如何解决这个问题的建议(并避免在其他网站上出现类似的问题)?

    使用iFrame输入会触发其他一些非常奇怪的错误,所以如果可能的话我想避免这种情况。

1 个答案:

答案 0 :(得分:1)

请确保您没有在Google Chrome上安装vim键盘扩展程序。 然后将J和K用于导航快捷方式。 (向上/向下)。