WYSIWYG - 在标签中包围它后保持选择 textarea 选择?

Posted

技术标签:

【中文标题】WYSIWYG - 在标签中包围它后保持选择 textarea 选择?【英文标题】:WYSIWYG - Keep textarea selection selected after surrounding it in tags? 【发布时间】:2011-08-26 20:27:34 【问题描述】:

编辑:就在我发布此内容时,我发现了一段代码可以轻松完成。 :D

This post 有一个非常适合我的 jQuery 解决方案。


我有一个脚本,当用户单击按钮时,在文本区域中的选定文本周围添加 BBCode 标签,单击按钮后,添加标签,我使用 textarea.focus() 重新获得对文本区域的关注但是虽然由于添加了标签,文本已经移动,但文本选择与添加标签之前的位置相同。因此,现在选择的不是原来选择的文本。

这是 textarea 现在的代码:

$('div[id*="custom_button"]').click(function () 
    var start = textarea[0].selectionStart;
    var end = textarea[0].selectionEnd;
    var replacement = '[stuff]' + textarea.val().substring(start, end) + '[/stuff]';
    textarea.val(textarea.val().substring(0, start) + replacement + textarea.val().substring(end, textarea.val().length));
    textarea.focus()
);

我正在考虑以某种方式获取选定的文本,然后在添加标签后找到它,最后重新选择它......这可能吗?我缺少一些简单的解决方案吗?

【问题讨论】:

【参考方案1】:

尝试在textarea.focus()之前添加这一行:

textarea.selectionEnd = (replacement.length)+end;

【讨论】:

以上是关于WYSIWYG - 在标签中包围它后保持选择 textarea 选择?的主要内容,如果未能解决你的问题,请参考以下文章

如何在第一个`/`(斜杠)处拆分字符串并在`<span>`中包围它的一部分?

如何在标签中包装不是标签的一部分的文本?

php ACF Pro - 从WYSIWYG编辑器中的图像中删除p标签

php ACF Pro - 从WYSIWYG编辑器中的图像中删除p标签

css WordPress WYSIWYG edito输出的html标签和类列表。当你发现mor时,请随意添加

css WordPress WYSIWYG edito输出的html标签和类列表。当你发现mor时,请随意添加