0
私はcontenteditable = trueのdivと、テキストdivの選択されたテキストを変更するボタンをonclickとしました。javascript:選択したテキストをボタン上でcontenteditableから置き換えます。
本部の編集可能:
<div class="content" id="articleEditor" contenteditable="true"></div>
スタイルオプション
<div class="editor-option">
<button id="changeText">change</button>
</div>
JSファイル
function replaceSelectedText(replacementText){
if (window.getSelection().rangeCount) {
range = window.getSelection().getRangeAt(0);
range.deleteContents();
var el = document.createElement("span");
el.innerHTML = replacementText;
var frag = document.createDocumentFragment(), node, lastNode;
while ((node = el.firstChild)) {
lastNode = frag.appendChild(node);
}
range.insertNode(document.createTextNode(replacementText));
}
}
$('button').click(function(){
replaceSelectedText('<span class="bold">'+window.getSelection().toString()+'</span>');
})
は、今では最後の単語を除くすべてのテキストの選択のために動作します。最後の単語を選択してボタンをクリックすると、選択肢は太字になりますが、後で書いたものは大胆です。
これを修正するにはどうすればよいですか?