← Toda la documentación

editor.getSelectionElement()

Devuelve el elemento que contiene la selección actual. Según lo que esté seleccionado, es el control seleccionado, la celda de tabla en la que está el cursor o el elemento que rodea un rango resaltado. Úsalo para responder a “¿dónde está ahora el usuario?”, por ejemplo para activar los controles de tabla solo dentro de una celda.

Sintaxis

editor.getSelectionElement()

Parámetros

Ninguno.

Valor devuelto

El elemento contenedor, o null cuando la selección no tiene un único contenedor significativo (por ejemplo, una selección vacía sin ancla).

Notas de comportamiento

  • Un control seleccionado tiene prioridad. Si hay un control seleccionado (como una imagen), se devuelve directamente: el mismo elemento que obtendrías con getSelectedControl().
  • Un cursor en una celda de tabla devuelve esa celda. Cuando la selección está contraída dentro de un TD o un TH, se devuelve esa celda, algo práctico para activar acciones que dependen de la celda.
  • Un rango devuelve su elemento contenedor. Para un rango resaltado, getSelectionElement() sube hasta el elemento que contiene los dos extremos de la selección.

Ejemplo de uso

Averigua si el cursor está dentro de una celda de tabla:

var editor1 = new RichTextEditor("#div_editor1");
var el = editor1.getSelectionElement();
var inCell = el && (el.closest("td") || el.closest("th"));

Lee el enlace más cercano a la selección actual:

var el = editor1.getSelectionElement();
var link = el ? el.closest("a[href]") : null;
if (link) console.log("Editing link:", link.href);

Relacionado