2012-07-20 26 views
16

Estoy haciendo un editor WYSYWYG HTML5 Con SWT estableciendo el contentEditable atributo de la etiqueta de cuerpo en true.Deshacer y rehacer en WYSYWYG contentEditable en SWT no funciona

Cuando estoy ejecutando algunos comandos como document.execCommand('bold'), funciona perfectamente. Pero cuando intento deshacer una operación con document.execCommand('undo') no ocurre nada. No sé si tengo que configurar cualquier administrador de deshacer o hacer algo así. Puedes ayudarme por favor ?

+2

¿Esto ayuda http://stackoverflow.com/a/5062713/903454 – 5hahiL

Respuesta

1

Esto parece ser un problema común como Google search will reveal. El siguiente sitio tiene una buena tabla de compatibilidad y demostración para probar.

Ellos también tienen la siguiente declaración en la página de prueba:

deshacer/rehacer no funciona en IE. El problema es que los cambios en el área de texto a la derecha también se agregan a la pila Deshacer/Rehacer. No no será textarea en la versión final, por lo que no es necesario que resuelva el problema.

1

Según this quirksmode table, hacer/deshacer las obras en todos los principales navegadores, pero tiene esta nota:

Deshacer funciona en Safari, pero si lo hace deshacer/rehacer con demasiada frecuencia, se bloquea. Resuelto en 3. Si realiza sus propios cambios en el área editable, Deshacer/Rehacer continúa funcionando en Mozilla y Safari (aunque ignora los cambios personalizados), pero en IE y Opera deja de funcionar.

No sé cómo podría afectar este SWT, pero podría ser mejor usar

document.execCommand("undo", "", null) 

ExecCommand siempre ha sido muy verde, y yo no sé mucho acerca de SWT, pero Espero que esto te ayude.

Cuestiones relacionadas