我找到了一个可以正常工作的代码段,除非有换行符。点击进入创建html元素并且函数产生错误的结果。有解决方案吗?
到目前为止我使用了以下脚本: http://niichavo.wordpress.com/2009/01/06/contenteditable-div-cursor-position/
答案 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问题here和here会有所帮助。
这是我用来测试它的代码。
{{1}}