当我在应用程序中选择一个单词并想给它一个跨度时,整个句子将包括在内。有谁知道我该怎么解决?
我认为这取决于formatBlock,但是我不知道我可以用什么来替代formatBlock。
<button id="span" type="button" class="btn btn-outline-secondary"><b>T</b></button>
<div contenteditable="true" id="textarea" name="answers" class="form-control">{!! old('answers',$task->description) !!}</div>
<textarea name="answers" id="answerstextarea" style="display:none"></textarea>
$('#span').on('click', function () {
document.execCommand('formatBlock', false, '<blockquote>');
let bq = $('#textarea').find('blockquote').first().text();
$.ajaxSetup({
headers: {
'X-CSRF-Token': parent.$('meta[name="csrf-token"]').attr('content')
}
});
$.post('{{route('translate')}}', {'totranslate' : bq}, function (data) {
$('#translate .modal-body').html(data);
$('#translate').modal('show');
$('#textarea blockquote').replaceWith('<span class="translated" data-vocabid="">' + bq + '</span>');
let text = $('#textarea').html();
$('#textarea-show').html(text);
$('textarea#answers2textarea').html(text);
});
});
答案 0 :(得分:0)
使用该名称时,formatBlock命令将格式化行/块,因此不适用于所选单词
以下帖子包含一个功能,如果您不能使用formatBlock进行格式化
Make selected text bold/unbold
这是可以与execCommand一起使用的命令列表,也许您可以使用其他命令进行格式化。
https://www.w3schools.com/jsref/met_document_execcommand.asp