我希望能够在网页中突出显示少量可编辑文本,而前景色只有一些变化。 (让我们说三个,为了争论。)
我对在线富文本编辑器的恼人经历让我认为,在他们松散的结局中统治是不值得的。所以我有了一个古怪的想法,将几个固定宽度的字体<textarea>
元素叠加在一起,并让它们保持同步。每个都有不同的前景色,并且通过背景透明度,您只需在不应该打印某个图层的地方留下空隙。浏览器会进行合成,也许一切都会好起来的。
在 Opera、Chrome、Firefox 和 Safari 中进行的一些探索性测试让我惊讶地发现这确实有效(听起来很疯狂)。但是我想使用非常纯文本的最大原因之一是复制和粘贴是万无一失的。然而,当文本像这样被分解成层时,用户无法选择并以原始形式获取所有文本。
我的第一个冲动是堆叠在顶层文本层上,该层被同步以包含来自所有层的内容,但其颜色是透明的。再一次,它“工作”了......但不幸的是,几乎所有浏览器都从活动的 textarea 颜色提示插入点颜色。这意味着插入符号变得不可见,在某些浏览器中,您选择的文本也是如此。(!)
因此,我向那些比我了解更多的人征求意见。我可以以跨浏览器的方式挂钩这样的堆栈,以便在您制作它时以及当用户“复制”时获得合并文本时选择是可读的?有没有人尝试过这样的事情?或者是否有证据证明“这是一个糟糕的想法,你无法让它发挥作用”?如果我可以在选择更改时获得跨浏览器通知,我可以将合并的字符注入到选择内的点处选择的图层中。:-/
(哦,我们编织了多么纠结的网……)