【发布时间】:2018-08-11 07:16:54
【问题描述】:
我正在从头开始创建一个文本编辑器。
加粗代码
$('#bold').click(function(){
var start = window.getSelection().toString();
var bolded = '<b>' + start + '</b>';
var cursorPositionBegin = $('#TextEditor').prop("selectionStart");
var cursorPositionEnd = $('#TextEditor').prop("selectionEnd");
// to check
alert(bolded);
})
HTML 代码
<table width="50%">
<tr>
<td>
<div>
<div>
<span><input type=button value="B" id="bold"></span>
</div>
<div contenteditable="true">
<textarea cols="47" rows="23" placeholder="editor" id="TextEditor"></textarea>
</div>
</div>
</td>
</tr>
</table>
当我为一组选定的字符单击#bold 时,我想在#TextEditor 中添加characters。我想也许获取光标的开始和结束位置可以帮助分解并将开始和结束与 characters 一起形成我需要的内容。
我也使用 jQuery
[更新 1]
还是有其他方法可以满足我的要求?
[更新 2]
将contenteditable="true" 添加到放置#TextEditor id 的div 中
您的帮助将不胜感激。
【问题讨论】:
-
你想在开始前和结束后添加什么文字?
-
在#TextEditor 中输入的任何内容,我想在输入的文本中进行粗体选择。
-
textarea将不支持其中的任何其他元素! -
<textarea>元素不允许您在其中添加<b>标签,您必须使用contenteditable="true"div 作为您的requiremnet。 -
我的意思是,如果您打算使用
<textarea>作为编辑器,则不会应用粗体样式,因为您必须在 div 中使用contenteditable并实现你的编辑器到那个 div。
标签: javascript jquery