Ich habe eine einfache contenteditable
mit der ID 'editor1', mit der Benutzer den gewünschten Text eingeben können. Ich habe auch ein select
Tag, das die verschiedenen options
enthält, wobei jede Option eine andere Schriftfamilie ist.Option auswählen onclick change-family ändern
Ich habe eine Funktion aufgerufen, wenn der Benutzer auf eine Option klickt, die den ausgewählten Text in span
umschließt und seine Schriftfamilie entsprechend ändert. Leider klappt es nicht; hat jemand eine funktionierende Lösung? (Vorzugsweise reines Javascript)
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);
}
}
EDIT: Ich habe irgendwo gelesen, dass die Verwendung von onclick
mit option
nicht funktionieren würde; eher sollte ich onchange
innerhalb select
verwenden. Irgendwelche Ideen, wie ich das machen könnte?
in js, die Bindestriche CSS-Attribute müssen Kamel verrohrt sein ... zB font- family wird fontFamily - oder Sie können '.style ['font-family']' verwenden, um Verwirrung zu vermeiden ... Ich gehe davon aus, dass keine Fehler in der Entwickler-Tools-Konsole –
Geändert, funktioniert immer noch nicht. Hat es etwas mit dem Onclick zu tun? – cosmo
Ich nehme an, es gibt keine Fehler in der Entwickler-Tools-Konsole –