Javascript Prism使我的内容从右向左可编辑div

Javascript Prism使我的内容从右向左可编辑div,javascript,html,contenteditable,Javascript,Html,Contenteditable,因此,基本上我使用的是prism语法highlighter,我在div上放置了contenteditable。如果我按下一个键时div中显示了一个标记,它将插入div的开头。这是我的代码: <head> <title> Syntax highlighting test </title> <!-- Prism JS --> <script src="pe.js"></script> <!--

因此,基本上我使用的是prism语法highlighter,我在div上放置了
contenteditable
。如果我按下一个键时div中显示了一个标记,它将插入div的开头。这是我的代码:

<head>
  <title>
    Syntax highlighting test
  </title>
  <!-- Prism JS -->
  <script src="pe.js"></script>
  <!-- Prism CSS -->
  <link type="text/css" rel="stylesheet" href="prism.css">
</head>
<body>
  <pre id="hello-world"><code id="kdh" class=" language-html line-numbers" contenteditable onKeyUp="Prism.highlightAll();">&lt;h1h>HIHI&lt;/h1></code></pre>
</body>


语法突出显示测试
h1h>HIHI/h1>

这可能会有所帮助再想一想,这是因为您每次都在启动prism函数,并将div重新插入DOM(或更改它)。您需要使事件处理程序更复杂,以禁用一次
单击
,然后重新启用
onblur
@Deryck我现在这样做了,当有换行符时,它会被破坏当您说换行符时,您是指实际的换行符(如单击编辑之前显示的代码)还是指回车符(就像在开始编辑后按enter键一样)@Deryck a carraige return您必须为return
keypress
事件(这只是您检查值的
keypress
总体)和
e.preventDefault()附加一个处理程序
。事实上,我不久前在小提琴上做过这件事。让我们看看我是否能再次找到它