No hay forma de multi-navegador de detectar cambios en la selección. IE (desde la versión 5.5, creo) y los navegadores WebKit/Blink (versiones de Chrome, Safari y Opera de los últimos años, por ejemplo) admiten un evento selectionchange
en el document
, que hace exactamente lo que usted desea.
Firefox y pre-Blink Opera no tienen tal evento y todo lo que puede hacer es detectar cambios de selección realizados mediante eventos de teclado y mouse, lo cual es insatisfactorio (no hay forma de detectar "Seleccionar todo" desde el contexto o editar menús, por ejemplo), o simplemente sondear el objeto Selection
devuelto por window.getSelection()
(comprobar las propiedades de selección anchorNode
, anchorOffset
, focusNode
y focusOffset
con respecto a sus valores anteriores debería ser suficiente).
posible duplicado de [Cómo controlar eventos ventana de cambio de selección en javascript] (http://stackoverflow.com/questions/5139623/how-to-monitor-window-selection-change-event-in-javascript) –
no es un duplicado porque necesito supervisar el evento de selección de ventana, no para una entrada –
En realidad, creo que es un duplicado, como la otra pregunta parece estar preguntando lo mismo de manera bastante imprecisa, pero las respuestas son Inútil. Un duplicado mejor es este: http://stackoverflow.com/questions/8442158/selection-change-event-in-contenteditable –