【发布时间】:2017-03-18 19:51:15
【问题描述】:
我想制作一个简单的工具来替换所选文本的空白/下划线。我已经拥有该功能,但我想改进它,使下划线与所选文本所具有的字符一样多(包括空格)。
它不是重复的,因为 我们的想法是让它与 JSFiddle 的工作方式相同;它必须采用选定的文本,并在那里替换它,就像 JSFiddle 一样。
当前 JS:
$(document).ready(function() {
$('#btn_convert_to_gaps').click(function() {
document.execCommand('insertText', true, "________");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn_convert_to_gaps"><b>Convert selected to gaps</b>
</button>
<div id='fake_textarea' contenteditable>
Select some text and click the button to make it bold...
<br>Or write your own text
</div>
例子:
- “这句话”
- 我选择“is se”,我希望:
- “Th_____ntence”(同句,5个下划线)
【问题讨论】:
-
您的示例是自引用的。请澄清一下,必须阅读两次才能有意义。
-
你没有在你的小提琴中导入 jquery
-
@LoganMurphy 你是对的。更新了 JSFiddle 和示例。而且它不是重复的,因为我特别要求这样做,就像它在 JSFiddle 上一样......
-
@Tibrogargan 可能的重复无法远程解决 1)如何知道所选文本长度也不 2)如何替换所选文本与另一个文本。
-
@RominaV 但我的问题地址中的其他链接 1) 长度-实际上是“如何获取当前文本选择”+“如何获取字符串的长度”。至于2)您的问题表明您已经可以替换文本,那么为什么需要解释如何做到这一点?来自 execCommand 文档:“insertText:在插入点插入给定的纯文本(删除选择)”
标签: javascript jquery html execcommand