Necesito poder representar algunas etiquetas HTML dentro de un área de texto (es decir, <strong>, <i>, <u>, <a>) pero las áreas de texto solo interpretan su contenido como texto. ¿Hay una manera fácil de hacerlo sin depender de bibliotecas / complementos externos (estoy usando jQuery)? Si no, ¿conoce algún complemento jQuery que pueda usar para hacer esto?
javascript
jquery
html
textarea
El monje codificador
fuente
fuente

Respuestas:
Esto no es posible hacer con a
textarea. Lo que está buscando es un contenido editable div, que se hace muy fácilmente:jsFiddle
fuente
contenteditablees un atributo enumerado en lugar de un atributo booleano (hay uninheritestado así comotrueyfalse), y creo que eso significa que especificar un valor es obligatorio, aunque no puedo encontrar un bit definitivo de la especificación para confirmar esto. MDN parece estar de acuerdo sin embargo.contenteditablesin valor que es el mismocontenteditable="", que a su vez es el mismocontenteditable="true".textarea. Escribir<strong>someting</strong>en el violín te deja con ese texto exacto. El HTML no se aplica.Con un div editable, puede usar el método
document.execCommand( más detalles ) para proporcionar fácilmente el soporte para las etiquetas que especificó y para alguna otra funcionalidad.fuente
Como solo dijiste render, sí puedes. Podrías hacer algo en este sentido:
textarearenderice html! Además del parpadeo al cambiar el tamaño, la incapacidad de usar clases directamente y tener que asegurarse de que el div en elsvgtiene el mismo formato que eltextareadel cursor para alinearse correctamente, ¡funciona!fuente
Una adición a esto. Puede usar entidades de caracteres (como cambiar
<div>a<div>) y se representará en el área de texto. Pero cuando se guarda, el valor del área de texto es el texto tal como se representa . Por lo tanto, no necesita descodificar. Acabo de probar esto en los navegadores (es decir, volver a 11).fuente
<textarea> check for url <B>http://localhost/Dashboard.aspx</B> <BR> Tool Started at <B>11/10/2015 3:56:58 AM</B> <BR> .... </textarea>no se muestra como HTML. Estoy en Chrome 46.Tengo el mismo problema pero a la inversa, y la siguiente solución. Quiero poner html desde un div en un área de texto (para poder editar algunas reacciones en mi sitio web; quiero tener el área de texto en la misma ubicación).
Para poner el contenido de este div en un área de texto que uso:
fuente
prueba este ejemplo
fuente
Esto es posible con
<textarea>lo único que debe hacer es usar el editor WYSIWYG de Summernoteinterpreta etiquetas HTML dentro de un área de texto (es decir
<strong>,<i>,<u>,<a>)fuente