javascript在文本区域中获取所选文本
我正在尝试为我的文本区编写一个简单的BB代码。我的代码工作正常,但不接受选定的文本。示例:文本。如果我用鼠标点击文本并选择[B]标记,它不会将文本更新为:[B]文本[/B]。它写在文本之后。示例:文本[b][/b]。有什么建议吗javascript在文本区域中获取所选文本,javascript,html,css,Javascript,Html,Css,我正在尝试为我的文本区编写一个简单的BB代码。我的代码工作正常,但不接受选定的文本。示例:文本。如果我用鼠标点击文本并选择[B]标记,它不会将文本更新为:[B]文本[/B]。它写在文本之后。示例:文本[b][/b]。有什么建议吗 <script type="text/javascript"> function formatText(tag) { var Field = document.getElementById('text'); var val = Fiel
<script type="text/javascript">
function formatText(tag) {
var Field = document.getElementById('text');
var val = Field.value;
var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
var before_txt = val.substring(0, Field.selectionStart);
var after_txt = val.substring(Field.selectionEnd, val.length);
Field.value += '' + tag + '';
}
</script>
<a href="#" class="btn hint--bottom" aria-label="Bold Text" onclick="formatText ('[b][/b]');"><i class="fas fa-bold"></i></a>
函数格式文本(标记){
var Field=document.getElementById('text');
var val=Field.value;
var selected_txt=val.substring(Field.selectionStart,Field.selectionEnd);
var before_txt=val.substring(0,Field.selectionStart);
_txt后的var=val.substring(Field.selectionEnd,val.length);
Field.value+=''+标记+'';
}
您刚刚在末尾添加了标记,但希望标记将所选文本包装起来。然后,你可以这样做。此外,还相应地编辑了HTML代码
函数格式文本(标记){
var Field=document.getElementById('text');
var val=Field.value;
var selected_txt=val.substring(Field.selectionStart,Field.selectionEnd);
var before_txt=val.substring(0,Field.selectionStart);
_txt后的var=val.substring(Field.selectionEnd,val.length);
Field.value=在\u txt+'['+tag+']'之前+选定的\u txt+'[/'+tag+']'之后;
}
JS-Bin
我正在尝试为我的文本区编写一个简单的BB代码。我的代码工作正常,但不接受选定的文本。示例:文本。如果我用鼠标点击文本并选择[B]标记,它不会将文本更新为:[B]文本[/B]。它写在文本之后。示例:文本[b][/b]。有什么建议吗?
您刚刚在末尾添加了标记,但希望标记将所选文本包装起来。然后,你可以这样做。此外,还相应地编辑了HTML代码
函数格式文本(标记){
var Field=document.getElementById('text');
var val=Field.value;
var selected_txt=val.substring(Field.selectionStart,Field.selectionEnd);
var before_txt=val.substring(0,Field.selectionStart);
_txt后的var=val.substring(Field.selectionEnd,val.length);
Field.value=在\u txt+'['+tag+']'之前+选定的\u txt+'[/'+tag+']'之后;
}
JS-Bin
我正在尝试为我的文本区编写一个简单的BB代码。我的代码工作正常,但不接受选定的文本。示例:文本。如果我用鼠标点击文本并选择[B]标记,它不会将文本更新为:[B]文本[/B]。它写在文本之后。示例:文本[b][/b]。有什么建议吗?
首先拆分标记,以便得到[b]和[/b]
代码的其余部分很好
在这里测试铬
<body>
<textarea id="text"></textarea>
<a href="#" onclick="formatText('[b][/b]');"><i class="fas fa-bold">xasada</i></a>
<script>
function formatText(tag) {
var tags = tag.split("]", 2).map(function(t) {
return t + "]";
});
var Field = document.getElementById('text');
var val = Field.value;
var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
var before_txt = val.substring(0, Field.selectionStart);
var after_txt = val.substring(Field.selectionEnd, val.length);
Field.value = before_txt + tags[0] + selected_txt + tags[1] + after_txt;
}
</script>
</body>
函数格式文本(标记){
var tags=tag.split(“]),2.map(函数(t){
返回t+“]”;
});
var Field=document.getElementById('text');
var val=Field.value;
var selected_txt=val.substring(Field.selectionStart,Field.selectionEnd);
var before_txt=val.substring(0,Field.selectionStart);
_txt后的var=val.substring(Field.selectionEnd,val.length);
Field.value=前文本+标记[0]+所选文本+标记[1]+后文本;
}
首先拆分标记,以便得到[b]和[/b]
代码的其余部分很好
在这里测试铬
<body>
<textarea id="text"></textarea>
<a href="#" onclick="formatText('[b][/b]');"><i class="fas fa-bold">xasada</i></a>
<script>
function formatText(tag) {
var tags = tag.split("]", 2).map(function(t) {
return t + "]";
});
var Field = document.getElementById('text');
var val = Field.value;
var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
var before_txt = val.substring(0, Field.selectionStart);
var after_txt = val.substring(Field.selectionEnd, val.length);
Field.value = before_txt + tags[0] + selected_txt + tags[1] + after_txt;
}
</script>
</body>
函数格式文本(标记){
var tags=tag.split(“]),2.map(函数(t){
返回t+“]”;
});
var Field=document.getElementById('text');
var val=Field.value;
var selected_txt=val.substring(Field.selectionStart,Field.selectionEnd);
var before_txt=val.substring(0,Field.selectionStart);
_txt后的var=val.substring(Field.selectionEnd,val.length);
Field.value=前文本+标记[0]+所选文本+标记[1]+后文本;
}
我想这个链接会帮助你:)。@VoiMập问题中没有jQuery,链接没有帮助。@VoiMập谢谢你的链接!不客气:我想这个链接会帮助你:)。@VoiMập问题中没有jQuery,链接没有帮助。@VoiMập谢谢你的链接!不客气,P