todos remove los limpiar eliminar elementos javascript selection range clear

los - remove javascript



Borrar una selección en Firefox (3)

Tengo esta funcion

function smth() { var container = null; var newContainer = null; if (window.getSelection) { // all browsers, except IE before version 9 alert("first if"); var selectionRange = window.getSelection(); if (selectionRange.rangeCount > 0) { var range = selectionRange.getRangeAt(0); container = range.commonAncestorContainer; newContainer = container; } } else { if (document.selection) { // Internet Explorer alert("second if"); var textRange = document.selection.createRange(); container = textRange.parentElement(); } } if (newContainer) { return newContainer.nodeName; } else { alert("Container object for the selection is not available!"); } }

Ahora, después de hacer lo que necesito hacer con la selección, necesito borrarla. Probé algunas cosas, nada funcionó, ¿alguna idea?

document.selection.clear ()

esto no funcionó.


Nota: en caso de que esté seleccionando el texto de un elemento de entrada o de área de texto, entonces su código tendrá más soporte para todos los navegadores si utiliza el método de selección de elementos de entrada o de área de texto nativos estándar.

Si se seleccionó una entrada html o un elemento de área de texto usando el método de selección nativo, el uso de los métodos sugeridos anteriormente no funciona en mi Firefox 44.0.2. Lo que funcionó para ello, y supongo que funciona en TODOS LOS NAVEGADORES, es ejecutar el siguiente código que crea un nuevo elemento y lo selecciona. El nuevo elemento no puede estar en la display:none o visibility:hidden porque, por lo tanto, no está seleccionado en mi Firebox, por lo que el truco es hacerlo invisible forzando todos los atributos de tamaño a 0/none .

var tempElement = document.createElement("input"); tempElement.style.cssText = "width:0!important;padding:0!important;border:0!important;margin:0!important;outline:none!important;boxShadow:none!important;"; document.body.appendChild(tempElement); tempElement.select(); /* Use removeChild instead of remove because remove is less supported */ document.body.removeChild(tempElement);



Use tinymce.activeEditor.selection.collapse() si eso no funciona, use const range = tinymce.activeEditor.dom.createRng(); tinymce.activeEditor.selection.setRng(range) const range = tinymce.activeEditor.dom.createRng(); tinymce.activeEditor.selection.setRng(range)