2011-08-09 69 views
1

我一直在尝试使用HTML5画布开发文本编辑器(作为个人项目),但是我遇到了实现复制/粘贴/退格功能的问题。我已经研究了大约六个类似这个项目的源代码,但我仍然没有找到解决方案。基于画布的编辑器 - 如何?

任何人都可以推荐一种快速,高效的方式来实现这种功能?

+3

简短的回答,没有。画布完全不适合用作文本编辑器。请参阅[Simon Sarris的答案](http://stackoverflow.com/questions/6336243/using-a-canvas-element-as-a-textarea/6345055#6345055) – Alohci

+0

正如我所说,这是一个个人项目,所以它如果这是一个好主意并不重要。 – Alexander

回答

5

我们使用这种方式:焦点在隐藏的textarea中,所以ctrl-v可以正常工作。在更改文字时,您可以更改画布图像。您可以轻松同步选择。您可以绑定textarea的“输入”事件来捕获所有的变化:

输入:当用户在文本框输入文本时,发送此事件。只有当显示的文本会改变时才会调用此事件,因此当用户按下不可显示的按键时不会调用此事件。

我认为,这是最好的,也是唯一正确的方式(你可以在JavaScript中的剪贴板没有它不行)

+0

这可能只是工作。我必须尝试一下。谢谢。 – Alexander

+0

“隐藏的textarea”是什么意思?我应该设置CSS属性显示:hidden; ?我可以做到这一点,而不添加textarea元素树? –