[Javascript] Rendu HTML à l'intérieur de la zone de texte


Answers

Avec un div éditable, vous pouvez utiliser la méthode document.execCommand ( plus de détails ) pour fournir facilement la prise en charge des balises que vous avez spécifiées et d'autres fonctionnalités.

#text {
    width : 500px;
	min-height : 100px;
	border : 2px solid;
}
<div id="text" contenteditable="true"></div>
<button onclick="document.execCommand('bold');">toggle bold</button>
<button onclick="document.execCommand('italic');">toggle italic</button>
<button onclick="document.execCommand('underline');">toggle underline</button>

Question

Je dois être capable de rendre des balises HTML dans une zone de texte (à savoir <strong>, <i>, <u>, <a>), mais les zones de texte interprètent uniquement leur contenu sous forme de texte. Y at-il un moyen facile de le faire sans compter sur les bibliothèques / plugins externes (j'utilise jQuery)? Si non, connaissez-vous un plugin jQuery que je pourrais utiliser pour faire cela?




J'ai le même problème mais à l'envers, et la solution suivante. Je veux mettre html d'un div dans un textarea (ainsi je peux éditer quelques réactions sur mon site Web, je veux avoir le textarea dans le même endroit.)

<div id="msg500">here some <strong>html</strong> <i>tags</i>.</div>

Pour mettre le contenu de cette div dans une zone de texte, j'utilise:

var content = $('#msg500').text();
$('#msg500').wrapInner('<textarea>'+content+'</textarea>');



Ceci est possible avec <textarea> la seule chose que vous devez faire est d'utiliser l' éditeur Summernote WYSIWYG

il interprète les balises HTML dans une zone de texte (à savoir <strong> , <i> , <u> , <a> )