Я исправляю редактор и у меня проблема с выделением текста.
Я получил этот код для проверки того, что выделил пользователь (более подробная информация под кодом):
function getSelectionHTML()
{
var iframe = document.getElementById(theEditorID);
var win, doc = iframe.contentDocument;
if(doc)
win = doc.defaultView;
else
{
win = iframe.contentWindow;
doc = win.document;
}
var userSelection;
if(win.getSelection)
{
userSelection = win.getSelection();
if(userSelection.getRangeAt)
var range = userSelection.getRangeAt(0);
else
{
var range = document.createRange();
range.setStart(userSelection.anchorNode, userSelection.anchorOffset);
range.setEnd(userSelection.focusNode, userSelection.focusOffset);
}
var clonedSelection = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedSelection);
callIcons(div.innerHTML);
}
else if(doc.selection)
{
userSelection = document.selection.createRange();
callIcons(userSelection.htmlText);
}
};
Когда пользователь выделяет жирный текст и другой курсив, я получаю такой вывод:
<b>some text</b><i>some other text</i>
Но когда пользователь выделяет только жирный текст, я получаю этот вывод (тега 'жирный' нет):
some text
Вы можете проверить это, жить, здесь - http://brownfolder.com/06/
Вы увидите предупреждение после выделения текста.
У вас есть идеи, как я могу это исправить?
Заранее спасибо.