Я пытаюсь создать редактор WYSIWYG, и до сих пор у меня его есть, поэтому вы можете выбрать текст и нажать «Сделать жирным», чтобы выделенный текст выделен жирным шрифтом. Это буквально просто обтекает теги < b> (без пробелов) вокруг выделенного текста. Но моя проблема в том, что если я хочу, чтобы не-полужирный, что мой сценарий имеет некоторые проблемы ...Обнаружить, если текст выделен жирным шрифтом
До сих пор, вот мой сценарий:
<script language="javascript">
function format(tag) //defines function format
{
var editor = document.getElementById('editor');
var txt = '';
var tester = document.getElementById('tester');
if (window.getSelection) //if your browser uses this method of text selection
{
txt = window.getSelection();
}
else if (document.getSelection) //if your browser uses this method of text selection
{
txt = document.getSelection();
}
else if (document.selection) //if your browser uses this method of text selection
{
txt = document.selection.createRange().text;
}
else return; //Return this
matched = editor.innerHTML.match(txt); //Find the selected text in the editor
// if (matched.style.font-weight = "600") {tester.innerHTML = "already bold";} //if the selected text is bold, say 'already bold' DOES NOT WORK
// else {tester.innerHTML = "not bold";} //if it doesn't...
editor.innerHTML = editor.innerHTML.replace(matched,"<"+tag+">"+matched+"</"+tag+">");//Wrap <b> tags around it
}
</script>
<input type="button" value="Make Bold" onmousedown="format('b')">
<input type="button" value="Make Italic" onmousedown="format('i')">
<div id='editor' onclick="javascript:this.designMode='on';" designmode="on" contenteditable="true">Edit Box</div>
<span id="tester">testing span</span>
Если попробовать его можно ввести в это поле и выберите текст и нажмите «Сделать жирным», и он будет выделен жирным шрифтом. Теперь снова нажмите «Сделать жирным», но ничего не произойдет. Это просто добавление другого тега < b> вокруг выделенного текста. Я хочу, чтобы он сделал его нежирным; нормальный.
Как это сделать?
Спасибо :)
Существует миллион редакторов WYSIWYG, доступных по каждой лицензии, которую вы можете назвать. Если вы не делаете это исключительно как учебное упражнение, я советую не изобретать колесо. – mikerobi