所见即所得 - 在标签中将文本区域选定内容包围后,保持选中状态
WYSIWYG - Keep textarea selection selected after surrounding it in tags?
编辑:就在我发布这篇文章时,我发现了一段很容易做到这一点的代码。 :D
这篇文章有一个非常适合我的jQuery解决方案。
我有一个脚本,当用户单击按钮时,它会在文本区域中的选定文本周围添加 BBCode 标签,单击按钮后,添加标签,我使用 textarea.focus()
重新获得对文本区域的关注,但是虽然文本由于添加标签而移动,文本选择与添加标签之前的位置相同。因此,现在选择的内容不是原始选择的文本。
这是现在的文本区域内容的代码:
$('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()
});
我想以某种方式获取所选文本,然后在添加标签后找到它,最后重新选择它......这可能吗?我缺少一些简单的解决方案吗?
尝试在textarea.focus()
之前添加此行:
textarea.selectionEnd = (replacement.length)+end;
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- React redux初始化功能,无论状态变化如何
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- iOS 中的按钮触摸状态
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- 所见即所得 - 在标签中将文本区域选定内容包围后,保持选中状态