Pregunta

sé cómo ejecutar execCommand en algún texto seleccionado, pero hay una manera de ejecutar en algún otro texto en mi contenteditable div ?

¿Fue útil?

Solución

En IE, sí.En otros navegadores, no.

Todos los principales navegadores de escritorio implementar alguna forma de document.execCommand(), que actúa sólo en la selección del usuario.En IE, el TextRange el objeto también tiene un execCommand método.Por ejemplo, el siguiente será convertir el contenido de texto de un elemento de color verde cuando el usuario pasa el cursor sobre él:

<div id="test">Here is a test div</div>

<script type="text/javascript">
    var div = document.getElementById("test");
    div.onmouseover = function() {
        if (document.body.createTextRange) {
            var textRange = document.body.createTextRange();
            textRange.moveToElementText(div);
            textRange.execCommand("foreColor", false, "green");
        }
    };
</script>

Otros consejos

En caso de que no lo sepa, .execCommand es una función de JavaScript no estándar de IE que debe evitarse.

Si nos dice para qué desea usarlo, podríamos sugerirle una alternativa que cumpla con los estándares.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top