编辑:正如我发布的那样,我发现了一段很容易做到的代码。:D
这篇文章有一个非常适合我的 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()
});
我正在考虑以某种方式获取选定的文本,然后在添加标签后找到它,最后重新选择它......这可能吗?我缺少一些简单的解决方案吗?