Foros del Web » Programando para Internet » Javascript »

Como crear un rango y una seleccion para Mozilla

Estas en el tema de Como crear un rango y una seleccion para Mozilla en el foro de Javascript en Foros del Web. Pues eso ... para IE seria: Código: var sel; var ran; sel = document.selection; ran = sel.createRange(); Y luego ... pues si quiero hago un ...
  #1 (permalink)  
Antiguo 30/04/2004, 01:24
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
Como crear un rango y una seleccion para Mozilla

Pues eso ... para IE seria:

Código:
var sel;
var ran;

sel = document.selection;
ran = sel.createRange();
Y luego ... pues si quiero hago un pasteHTML() o lo que sea .... estoy intentando implementar ese pasteHTML() para Mozilla y para ello quiero crear un rango en la seleccion que uno desee y generar el HTML a traves de las funciones createElement() y appendChild() ....

Pues eso si alguien sabe como crearlos .... lo agradeceria muchisimo
__________________
Usuario registrado de Linux #288725
  #2 (permalink)  
Antiguo 30/04/2004, 04:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola epplestun :

Te había respondido, y se fué la respuesta misteriosamente... (Espero que no haya sido por haber hecho algo indebido)

Creo que este código del htmlarea es el que buscas:


Código PHP:
cfg.registerButton("my-sample""Class: sample""ed_custom.gif"false,
  function(
editor) {
    if (
HTMLArea.is_ie) {
      
editor.insertHTML("<span class=\"sample\">&nbsp;&nbsp;</span>");
      var 
editor._doc.selection.createRange();
      
r.move("character", -2);
      
r.moveEnd("character"2);
      
r.select();
    } else { 
// Gecko/W3C compliant
      
var editor._doc.createElement("span");
      
n.className "sample";
      
editor.insertNodeAtSelection(n);
      var 
sel editor._iframe.contentWindow.getSelection();
      
sel.removeAllRanges();
      var 
editor._doc.createRange();
      
r.setStart(n0);
      
r.setEnd(n0);
      
sel.addRange(r);
    }
  }
); 
Saludos
  #3 (permalink)  
Antiguo 30/04/2004, 04:17
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
jeje caricatos gracias pero ... pero ese code .. esta muuuuuuuu incompleto ya que es parte del htmlarea.js que consta de 2241 lineas de codigo jeje y muchas de lsa funciones que ves ahi no son de JS sino creadas de la propia clase HTMLArea jeje

El caso es que para crear una selccion hago:
Código:
function __createRange(sel) {
		if(document.all) {
			return sel.createRange();
		} else {
			if (typeof sel != "undefined") {
				try {
					return sel.getRangeAt(0);
				} catch(e) {
					return editor.createRange();
				}
			} else {
				return editor.createRange();
			}
		}
	}
	
	function __getSelection() {
		if(document.all) {
			return document.selection;
		} else {
			return document.getElementById('editor').contentWindow.getSelection();
		}
	}
Pero bueno ... a ve si sale algo jeje
__________________
Usuario registrado de Linux #288725
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:57.