contenteditable div获得光标位置

时间:2012-02-13 18:53:35

标签: javascript html html5

我找到了一个可以正常工作的代码段,除非有换行符。点击进入创建html元素并且函数产生错误的结果。有解决方案吗?

到目前为止我使用了以下脚本: http://niichavo.wordpress.com/2009/01/06/contenteditable-div-cursor-position/

1 个答案:

答案 0 :(得分:3)

您面临的问题是由于浏览器差异造成的。例如,当您按Enter键时,I.E将添加<p></p>标签,然后在按Shift-Enter时添加<br/>。当您按Enter键时,Chrome会在内容周围执行<div>...</div>,而当按下shift-Enter时,<br/>会执行<script type="text/javascript"> $(function () { $('#ShowButton').click(function (e) { alert($('#CED').html()); }); }); </script> <canvas id="drawingSurface" class="canvasLayout"> </canvas> <div id="CED" contenteditable="true"> Text goes here </div> <input type="button" value="Show HTML" id="ShowButton" />

你需要通过捕获按键事件或使用jQuery插件来处理这个问题,这些插件将使得在各种浏览器中使用enter keypress标准。 Stack Overflow问题herehere会有所帮助。

这是我用来测试它的代码。

{{1}}