私はユーザーがテキストを入力できるcontenteditable div(id 'editor1')を持っています。次に、強調表示されたテキストの色付けを可能にする関数があります。私のjsはwindow.getSelection().getRangeAt(0)
を使用していますが、この問題はdiv外の単語を強調表示でき、その色も変わることになります。これまでのところ;私が試した:特定のdiv内のSelect()を取得する方法は?
function red(){
{
var getText = document.getElementById("editor1").innerHTML;
var selection = getText.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var span = document.createElement("span");
span.style.color = "red";
span.appendChild(selectedText);
selection.insertNode(span);
}
}
フィドル:あなたが見ることができるように、私が強調する場合https://jsfiddle.net/xacqzhvq/
、私もそれが赤にするためにボタンを使用することができ、「これは同様に赤になるだろう」。 強調表示されたテキストの色は、editor1 div内でのみ指定できますか?
どのブラウザですか?クロム51でそれは動作します – avck
私は関数が動作することを知っています。私はdivの "editor1"以外のものも色を変えることはできません。下にスクロールしてください。 divの外側には、ボタンを使って赤く塗りつぶすことができるテキスト行があります。私はそれを望んでいません。私は、div内の任意のテキストを色付けできるようにしたいだけです。 – cosmo