【发布时间】:2016-10-15 14:33:59
【问题描述】:
我想知道如何在可编辑元素的子元素中设置光标。我有一个内容可编辑的 DIV,里面有一个 SPAN,我想在单击 DIV 时将光标设置在 SPAN 中,以防止有人在 DIV 中输入。
<div class="custom-input" spellcheck="true" contenteditable="true">
"NOT HERE"
<span data-type="text">
"TYPE HERE"
<br>
</span>
</div>
我曾尝试在 jQuery 中使用 .focus() 来执行此操作,它可以工作,但它只是突出显示 SPAN,而光标仍保留在 DIV 中。
我正在尝试制作类似于 Facebook 聊天功能的东西。 Facebook 聊天使用 contenteditable 元素进行聊天输入,如果您单击聊天框中的任意位置,光标始终聚焦在用于输入的 SPAN 标签中。
【问题讨论】:
-
为什么不让 span 内容只能编辑?
-
@Teemu 我不知道 OP,但我最近不得不用this interface 来做这件事,我需要将光标放在“Given I am a”或“And I”之后。这些标签仍然需要可编辑,但我需要在添加新行时将光标操作到标签之后,以便用户可以开始输入,如果这有意义的话
-
@Teemu 你说得对,我没有理由不只使跨度可编辑。现在我发现如果复制粘贴文本,粘贴的文本会放在跨度标签之间的文档中,另一个问题。
标签: javascript jquery html facebook contenteditable