2

我正在尝试在文本区域内制作禁用/不可编辑的文本。我发现了一个技巧,让第一部分在这里无法编辑 如何锁定文本区域的第一个单词? 但我的问题是在文本的末尾。但它甚至可能不是文本区域“html-tag”,但它必须看起来像那样并且可编辑。

我已经研究并阅读了很多,其他人说只是在外面写并告诉他们这个文本将被附加。但是,是的。这也是我的第一个想法。

是否有 jQuery 插件或更容易做到这一点?

干杯!

在第一条评论后编辑:

我忘了提到我需要不可编辑的文本具有不同的颜色,因此 textarea 可能不会将其切断。

4

3 回答 3

2

如果您使用 HTML5contenteditable属性,您可以实现类似的效果。

<div contenteditable>test <span contenteditable="false">asdf</span> asdf</div>​

您将能够编辑不可编辑部分周围的文本,但您将无法编辑该范围内的文本。但是,您仍然可以通过退格键或选择/删除来删除它。

于 2012-07-13T05:40:24.697 回答
1

我有一些工作在这里http://jsfiddle.net/index/tX44C/2/,已经在使用 contenteditable attr 做了很多工作。但它仍然存在一些缺陷,特别是在 Safari 中replaceWith触发时,它会失去焦点。而且,我无法在 IE 浏览器上对其进行测试,我认为某些 IE 在“CSS 内容”方面存在问题。

有更好的吗?

编辑: 我对上面发布的链接进行了一些更改(我还编辑了链接),现在它似乎工作得很好。我对此非常满意,所以我现在将使用它,除非出现其他解决方案。

澄清: 小提琴上的代码还包括一个限制器和一些其他输入框,因为我正在查看 contenteditable 的内容。但是为了使文本位于末尾,我使用 CSS:aftercontent属性以及一些操作来删除 br,同时键入以使其保持在其一侧。

干杯!

于 2012-07-13T05:39:13.197 回答
0

感觉这可能还不够,但我已经在用户生成的电子邮件的签名被修复的情况下使用它。这只是一些CSS技巧。

jsfiddle

于 2012-07-13T06:10:03.047 回答