1

我有两个文本区域。TA1 用于样式/显示,TA2 用于输入捕获以及将插入符号放置在跨度标签上的能力。它们将始终具有相同的值,但 TA1 将包含用于样式的附加 html。

TA1 被 TA2 覆盖。基本上,如果文本区域被点击,那么 TA2 就会收到事件。

我正在尝试根据 TA2 中的光标位置在 TA1 中选择一个元素。我知道TA2中点击的单词的范围,但是需要在TA1中选择合适的span。基本上,我需要点击 TA2 并触发 TA1 中的处理程序。

我一直在尝试查看是否可以在 TA1 中的跨度之后立即放置插入符号,并选择前一个跨度,但到目前为止我还没有成功。

这是 TA1 中的文本示例,

<textarea>
<span class=\"suggestion\" title=\"Click to edit\">TESTP</span>\n
    \n
    123\n
    \n
    TESTING\n
    \n
    123\n
    \n
    <span class=\"suggestion\" title=\"Click to edit\">TESTP</span>  
</textarea>

上面的html会被渲染成下面的..

文本区域

例如,如果我单击第一个“TESTP”,我将获得 0-4 的范围。如果我将插入符号放在 TA1 的第 5 位,有没有办法选择跨度标签?我将尝试查看是否也可以使用过滤器来完成此操作,但想看看是否有人有任何其他建议。

我继续并大致了解了我要在此jsFiddle中完成的工作,请注意右侧的 textArea 用于显示我要触发的单击处理程序。它之所以有效,是因为它上面没有另一层。左侧的 textArea 是我目前所在的位置。

4

1 回答 1

0

这已通过研究以下 SO 项并更新处理程序的逻辑来解决。

如何-我-包装-上一个-当前-和-下一个单词-inside-a-tag-using-jquery

如何在文本区域中拥有透明字体除外

于 2014-11-14T22:59:51.013 回答