contenteditable 编辑框中 Shift+Enter 导致结构混乱如何解决?

contenteditable 编辑框中 Shift+Enter 导致结构混乱如何解决?

contenteditable 编辑框中 shift+enter 换行导致结构混乱问题

在具有 contenteditable="true" 属性的编辑框中使用 Shift+Enter 换行可能会导致结构混乱。这是因为默认情况下,Shift+Enter 会同时触发 Enter 和 Shift 键,在大多数文本编辑器中,Enter 键会创建新行,而 Shift 键会切换到

标签。

解决方案

为了解决此问题,可以修改键盘输入事件处理程序,以在按 Shift+Enter 时执行不同的操作:

function keyDown(event) {
  if (event.shiftKey && event.keyCode === 13) {
    event.preventDefault();
    document.execCommand('insertParagraph');
    return false;
  }

  document.execCommand('formatblock', false, '<p>');
}

此代码将检查按下的键是否为 Shift+Enter,如果是,则将阻止默认操作(创建新行和切换到

标签),并改为插入一个段落 (

)。

仅在特定版本中测试的说明

需要注意的是,此解决方案仅在测试的特定 chrome 版本中进行过测试。在其他版本或浏览器中,可能需要进行调整。

以上就是contenteditable 编辑框中 Shift+Enter 导致结构混乱如何解决?的详细内容,更多请关注其它相关文章!