I\'m wrapping the selected text in span tags, when you click a button. If I then select a different piece of text and click the button, that text also gets wrapped in tags.
This code goes thru the content of the textEditor and removes all the span tags. It should do the trick.
jQuery(function($) {
$('.embolden').click(function(){
$('.textEditor span').contents().unwrap();
var highlight = window.getSelection();
var span = '<span class="bold">' + highlight + '</span>';
var text = $('.textEditor').html();
$('.textEditor').html(text.replace(highlight, span));
});
});
Modern browsers utilize the execCommand function that allows you to embolden text very easily. It also provides other styles like underline etc.
<a href="#" onclick="emboldenFont()">Bold</a>
function emboldenFont() {
document.execCommand('bold', false, null);
}