我希望能够在网页中高亮显示少量可编辑的文本,而前景颜色只有几个变化。(为了争论起见,让我们说三个吧。)
我与在线富文本编辑的恼人经历使我认为,统治他们的松散结局是不值得的。所以我有了一个古怪的想法,把几个固定宽度字体的<textarea>元素放在一起,并保持它们的同步。每个图层都有不同的前景色,通过背景透明性,你只会在某一层不应该打印的地方留下空白。浏览器将完成组合,可能一切都会很好。
Opera、Chrome、Firefox和Safari中的一些探索性测试让我惊讶地发现,这实际上是可行的(听起来很疯狂)。但是,我想使用非常纯文本的最大原因之一是复制和粘贴是万无一失的。然而,当文本被分解成这样的层时,用户就无法选择并获得其原始形式的所有文本。
我的第一次冲动是在文本的顶层叠加,该层是同步的,可以包含来自所有层的内容,但其颜色是透明的。再次,它“工作”的...but不幸,几乎所有的浏览器暗示插入点颜色从文本区域的颜色是活动的。这意味着插入符号变得不可见,在某些浏览器中,您选择的文本也是如此。(!)
所以我向那些比我了解得更多的人征求他们的见解。我能用跨浏览器的方式挂起这样的堆栈吗?这样,在您进行选择时,选择是可读的,并且当用户进行“复制”时,可以获得合并的文本吗?有人试过这样的东西吗?还是有证据证明“这是个糟糕的主意,你不可能让它起作用”?如果我能够获得跨浏览器通知,当选择更改时,我可以将合并的字符注入在所选内容所在的被选中的层中。*-/
(哦,我们织的网真乱.)
发布于 2012-11-26 17:34:39
对您来说,使用现有解决方案要快得多。请看ACE编辑:
http://ace.ajax.org
ACE是用JavaScript编写的可嵌入代码编辑器。它与本机编辑器的特性和性能相匹配,如Sublime、Vim和TextMate。它可以很容易地嵌入到任何网页和JavaScript应用程序中。ACE是作为Cloud9 IDE的主要编辑器维护的,并且是Mozilla (Bespin)项目的继承者。
具体来说,这个富文本编辑器具有显示语法高亮和显示错误/行号等功能。
发布于 2012-11-26 17:32:01
馊主意。你不会想去那里的。
你在试图“重新发明轮子”。一些项目已经解决了这个问题。他们的解决方案得到了广泛的应用,因此在未来几周里你能找到的任何东西都是更成熟的。
如果您选择一个在线富编辑器并学习如何以您想要的方式处理它,将大大减少的时间。
你应该读杰夫·阿特伍德的帖子“不要重新发明车轮”,除非你计划学习更多关于车轮的知识
https://stackoverflow.com/questions/13570051
复制相似问题