私は、ユーザが任意のテキストを入力できるid 'editor1'を持つプレーンcontenteditable
を持っています。また、別のoptions
を含むselect
タグがあります。各オプションは異なるフォントファミリです。オプションを選択してくださいonclick change font-family
私がしたことは、ユーザーが選択したテキストをラップしてspan
にラップし、それに応じてフォントファミリを変更するオプションをクリックしたときに関数を呼び出したことです。残念ながら、それは動作しません。誰でも実用的なソリューションを持っていますか? (好ましくは純粋ジャバスクリプト)
HTML:
<select>
<option onselect="usecomicsans()" style="font-family: 'Comic Sans MS'">Comic Sans MS</option>
<option onselect="usearial()" style="font-family: Arial">Arial</option>
</select>
JS:
function usecomicsans(){
{
var selection= window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var span = document.createElement("span");
span.style.fontFamily = "Comic Sans MS";
span.appendChild(selectedText);
selection.insertNode(span)
}
}
function usearial(){
{
var selection= window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var span = document.createElement("span");
span.style.fontFamily = "Arial";
span.appendChild(selectedText);
selection.insertNode(span);
}
}
編集:私はoption
とonclick
は動作しません使用していることをどこかで読ん;むしろ、私はをselect
の中に使用するべきです。どのように私はこれを行うことについて行くことができるかについての任意のアイデア?
だと思い、ハイフネーションされたCSS属性は同棲ラクダする必要がありますfamilyはfontFamilyになるか、 '.style ['font-family']'を使って混乱を避けることができます...私は開発者ツールコンソールにエラーがないと仮定しています –
変更してもまだ動作しません。それはonclickと関係がありますか? – cosmo
デベロッパーツールコンソールにエラーがないと仮定しています –