tengo un div con contentEditable establece en true.
Tengo que encontrar seleccionados en texto html.Soy capaz de obtener el texto seleccionado en FireFox

 window.getSelection();

Me caso de IE soy capaz de conseguir el texto seleccionado html mediante

document.selection.createRange().

Pero, ¿cómo puedo encontrar el texto seleccionado html en FireFox.
Cómo puede en ello.Por favor, ayudar.

¿Qué entiende usted por un editable div?
Acortar el que a…¿a Qué te refieres?
Disculpas, cuando me marcan que la pregunta no tenía sentido en absoluto, fue originalmente formulada mal, aunque ha sido limpiado hasta ahora.
No se olvide nunca, nadie puede sugerir modificaciones, no importa su rep. Y pidiendo a la cooperativa para su aclaración (como lo hizo) es siempre mejor que apretar el gatillo en una bandera.

OriginalEl autor Niraj Choubey | 2011-04-14

4 Comentarios

  1. 13

    Seleccione el texto y almacenarlo en la variable llamada mytext.

    if (!window.x) {
        x = {};
    }
    x.Selector = {};
    x.Selector.getSelected = function() {
        var t = '';
        if (window.getSelection) {
            t = window.getSelection();
        } else if (document.getSelection) {
            t = document.getSelection();
        } else if (document.selection) {
            t = document.selection.createRange().text;
        }
        return t;
    }
    
    $(function() {
        $(document).bind("mouseup", function() {
            var mytext = x.Selector.getSelected();
            alert(mytext);
        });
    });

    Comprobar ejemplo de trabajo en http://jsfiddle.net/YstZn/1/

    x.Selector.getSelected() devuelve un Selection objeto en la mayoría de los navegadores y una cadena que contiene el texto seleccionado en IE <= 8. Ninguna de esas cosas es el seleccionado HTML, que es lo que el OP pidió.
    Tim Abajo a la derecha, esta respuesta no funciona. Tim la respuesta de abajo no funciona.

    OriginalEl autor Hussein

  2. 18

    Para obtener el seleccionado HTML como una cadena, puede utilizar la siguiente función:

    function getSelectionHtml() {
        var html = "";
        if (typeof window.getSelection != "undefined") {
            var sel = window.getSelection();
            if (sel.rangeCount) {
                var container = document.createElement("div");
                for (var i = 0, len = sel.rangeCount; i < len; ++i) {
                    container.appendChild(sel.getRangeAt(i).cloneContents());
                }
                html = container.innerHTML;
            }
        } else if (typeof document.selection != "undefined") {
            if (document.selection.type == "Text") {
                html = document.selection.createRange().htmlText;
            }
        }
        return html;
    }
    Usted es un protector de la vida!! Big up!!
    Esto es exactamente lo que yo estaba buscando. La mejor solución que he encontrado para la obtención de html y de texto editable de div. De gran utilidad para la inyección de etiquetas HTML en el contenido seleccionado (por ejemplo, si se está utilizando un div como un formulario y que quiere hacer de su texto en negrita)
    Esta casi literalmente me salvó la vida (y mi cordura también!) Gran punto de partida para lo que yo necesito

    OriginalEl autor Tim Down

  3. -2

    para obtener el texto de un div que hacer esto:(en jQuery)

    var text = $('div.selector').text();
    Creo que significa que si se pone de relieve algunos de los texto en un div, ¿cómo puede conseguir la prueba de que está resaltado.

    OriginalEl autor Neal

Dejar respuesta

Please enter your comment!
Please enter your name here