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 导致结构混乱如何解决?的详细内容,更多请关注其它相关文章!