Foros del Web » Programando para Internet » Javascript »

Iframe - Mantener posición del cursor

Estas en el tema de Iframe - Mantener posición del cursor en el foro de Javascript en Foros del Web. Estoy realizando un editor unicamente con html y javascript. Para ello uso un 'iframe' con la propiedad 'desigmode' igual a 'on'. Una funcionalidad del editor ...
  #1 (permalink)  
Antiguo 04/01/2007, 03:21
 
Fecha de Ingreso: noviembre-2004
Mensajes: 92
Antigüedad: 19 años, 5 meses
Puntos: 0
Iframe - Mantener posición del cursor

Estoy realizando un editor unicamente con html y javascript. Para ello uso un 'iframe' con la propiedad 'desigmode' igual a 'on'.

Una funcionalidad del editor es la de implementar un resaltado de código (syntax highlight) como tienen la mayoria de entornos de programación. Para hacerlo analizo en cada evento de teclado o de ratón todo el texto del iframe, y dependiendo del contenido de cada linea inserto/borro/modifico 'div' y/o 'span' para aplicarles los 'id' o 'class' de un 'css', y de ese modo obtener el formato correcto para cada palabra o linea.

El problema lo tengo una vez que tengo todo el texto analizado y lo reemplazo modificando la variable 'innerhtml' del 'iframe', pierdo la posición del cursor y este se me va a la primera linea.

La posición del cursor la pierdo porque no he podido desarrollar código para obtener y cambiar la posición del cursor dentro del 'iframe'. Unicamente he conseguido insertar un 'span' en la linea donde está el cursor para marcarla.

¿Alguna idea de como podría solucionarlo?

La idea es que el código sea compatible tanto para IE como para FF.
  #2 (permalink)  
Antiguo 31/10/2007, 07:30
 
Fecha de Ingreso: noviembre-2004
Mensajes: 92
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Iframe - Mantener posición del cursor

Actualmente tengo el evento de teclado del editor capturado, de modo que cuando se pulsa intro inserto un <BR> para simular el salto de linea mediante el inserthtml del execcommand. Luego cancelo el evento.

El problema lo tengo en que cuando estoy en el último carácter del iframe y pulso intro inserta el <BR> pero no me realiza el salto de linea, cosa que si pasa si lo hago en cualquier otra posición.

Lo he intentado en vez de <BR> con <P> pero no me gusta ya que me cambia el parrafo. Habia pensado por css quitarle el margen a los parrafos, pero no me acaba de gustar.

¿Alguna idea para que me realice el salto de linea?
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 05:42.