1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
$('#inputFontSize').on("change", function(){
document.execCommand('fontSize', false, '7');
$("font[size='7']").attr("name", "tempo");
$("font[size='7']").css("font-size", this.value).removeAttr("size");
//nettoyage des enfants
if ($("font[name='tempo']").children("font").length > 0){ //mise à jour de la taille du texte pour tous les enfants également
$("font[name='tempo']").children("font").css("font-size",'');
$("font[name='tempo']").children("font").each(function(){
if (this.attributes.length == 1 && $(this).attr("style") == ""){
//suppression de la balise font mais pas du contenu
$(this).contents().unwrap();
}
});
}
//nettoyage du parent + freres
//On garde les propriétés face, color et css:font-size dans un nouvel élément font
var face = $("font[name='tempo']").parent().attr("face");
var color = $("font[name='tempo']").parent().attr("color");
var fontSize = $("font[name='tempo']").parent().css('font-size');
var newFont = $('<font/>', {
'color': color,
'face': face
});
newFont.css("font-size", fontSize);
$("font[name='tempo']").parent().contents().each(function(){
//si l'élément est différent de l'élément courant, on lui ajoute les propriétés du parent
//console.log($(this).prop('tagName'));
if($(this)[0] != $("font[name='tempo']")[0] && $(this).prop('tagName') != 'BR'){
$(this).wrapAll(newFont);
}
});
//on supprime la balise du parent (uniquement si c'était un <font>, on ne veut pas supprimer la div éditable)
$("font[name='tempo']").parent("font").contents().unwrap();
newFont.remove();
$("font[name='tempo']").removeAttr("name");
}); |
Partager