estoy en busca de solución de navegadores (Chrome, FF, Opera> 10, es decir,> = 8) para el siguiente problema:Comprobar si el elemento especificado es la selección dentro
Hay algún código html:
<div>
<div id="one">
<p id="red">red</p>
<p id="green">green</p>
</div>
<div id="two">
<p id="blue">blue</p>
<p id="black">black</p>
</div>
</div>
y el usuario selecciona con el texto del mouse desde 'een' (en el nodo #verde) a 'blu' (en el nodo azul). ¿Cómo puedo verificar si #blue está dentro de la selección (no importa si está total o parcialmente seleccionado) y #red y #black no están en la selección. API simple sería el siguiente:
Selection.isElementSelected(document.getElementById('black'));
He intentado utilizar DOMSelection y rangos, pero el problema es que necesito para comprobar los elementos de estructura anidada. En Chrome puedo usar Range.intersectsNode(), pero este es el único navegador compatible con este método.
¿Alguna sugerencia?
Tal vez esto le ayuda para un resultado perfecto en IE <9: containsRange: function (rango) { return this.userRange.inRange (rango) || range.inRange (this.userRange) || this.userRange.compareEndPoints ("EndToStart", rango)> -1 && this.userRange.compareEndPoints (rango "StartTo End") <1; } –