【问题标题】:WYSIWYG - Keep textarea selection selected after surrounding it in tags?WYSIWYG - 在标签中包围它后保持选择 textarea 选择?
【发布时间】: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()
});

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

【问题讨论】:

    标签: javascript textarea textselection


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-27
      • 2012-03-03
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      相关资源
      最近更新 更多