2012-08-13 14 views
6

Acabo de empezar a usar un contentEditable, y no he encontrado mucha información completa sobre él.contentEditable, CTRL-B CTRL-I y guardado

Noté que en Chrome, puedo hacer que las palabras en negrita/cursiva pulsando CTRL - B y CTRL - I.

¿Es posible que este sea el comportamiento previsto en otros navegadores? Esto, por ejemplo, funciona en Chrome:

<div class="container" id="typer" onclick="this.contentEditable='true';"> 

http://jsfiddle.net/uk6DA/15/

Me pregunto si puedo leer este formato, con el fin de guardar las ediciones del usuario? Además, puedo crear un botón Negrita y cursiva botón que activará CTRL - B y CTRL - I? ¿O tengo que depender de que el usuario presione CTRL - B y CTRL - I (que los medios que proporcionan una nota diciéndoles)?

Respuesta

16

Esto es estándar en todos los principales navegadores. También hay equivalentes programáticos de los atajos de teclado disponibles a través del document.execCommand() en todos los navegadores principales. comandos negrita y cursiva, por ejemplo, pueden ejecutado como sigue:

document.execCommand("Bold", false, null); 
document.execCommand("Italic", false, null); 

Sin embargo, el mark-up generado varía entre los navegadores. Por ejemplo, las variaciones para negrita incluyen <b>foo</b>, <strong>foo</strong> y <span style="font-weight: bold">foo</span>.

Referencias:

+0

Gracias, eso es muy útil.¿Pero sabes por qué este ejemplo (http://jsfiddle.net/uk6DA/15/) no funciona en IE9? Al menos ctrl-B y ctrl-I no lo son. ¿Funcionarían los execCommands? – Dave

+0

No importa. Mi propia página funciona. La página JSFiddle no es por alguna razón. – Dave

+0

@Dave: Sí, creo que es un problema de JSFiddle. –

2

Respuesta corta 'sí'. Puede encontrar este article interesante. Muchos desarrolladores han pasado por esta ruta. Si quieres un buen editor wysiwyg, hay muchos para elegir.

A su pregunta: sí, puede leer el formato. Pruebe con un innerHTML en el elemento y encontrará <b> etiquetas alrededor de sus negritas y <i> alrededor de su cursiva. Además, en el artículo que compartí, descubrirá cómo crear un botón en negrita. ¡Espero que esto ayude!

+0

Gracias, me gustaría poder aceptar ambas respuestas, pero sólo podían aceptar una. :( – Dave

+0

Todo bien Dave! Su era más completo de todos modos. Honestamente, he jugado con contentEditable en el día. Pero hay tantos editores WYSIWYG exitosos y "compatibles" por ahí, no hay muchas razones para reinventar la rueda. su propia experiencia liviana puede ser divertida, interesante y si sus necesidades son útiles. Otro problema con la mayoría de los editores WYSIWYG: son una amalgama de hacks para IE5, 6, etc. Gracias a Dios que nos estamos moviendo hacia un futuro IE8 +:) –

+0

Estoy tratando de crear una interfaz de usuario única. ¡Gracias de nuevo por la ayuda! – Dave

Cuestiones relacionadas