Foros del Web » Programando para Internet » Javascript »

Cambiar el valor de un TEXTAREA/INPUT sin perder el foco.

Estas en el tema de Cambiar el valor de un TEXTAREA/INPUT sin perder el foco. en el foro de Javascript en Foros del Web. Hola que tal, Creo que me equivoque con el titulo porque lo que se pierde es el puntero no el foco, pero bueno. Primero que ...
  #1 (permalink)  
Antiguo 09/01/2012, 21:17
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 9 meses
Puntos: 32
Pregunta Cambiar el valor de un TEXTAREA/INPUT sin perder el foco.

Hola que tal,

Creo que me equivoque con el titulo porque lo que se pierde es el puntero no el foco, pero bueno.

Primero que nada les digo que me costo mucho trabajo hacer funcionar el selectionStart/End en IE, descargue una API de jQuery para poder usarlo porque no pude entender el funcionamiento de los metodos de document.createRange(), tales como: getBookmark(), moveToBookmark(), duplicate(), etc. No encontré ningun tuto que explicará como funcionan ese revoltijo de metodos para asimilar el selectionStart/End de Firefox.

Lo que estoy haciendo esque al presionar "enter" en el textarea se agreguen un par de espacios donde está el puntero. Eso ya lo puedo hacer pero lo que sucéde es que al modificar el valor del textarea el puntero se va hasta el final y el scroll se va hasta abajo. Supongo que el scroll se mueve abajo por que el puntero se va abajo.

Pueden comprobarlo con este sencillo ejemplo:

Código HTML:
Ver original
  1. <textarea onkeyup="this.value=this.value+\r\nCAMBIO;" rows="5">
  2. PRUEBA
  3. PRUEBA
  4. PRUEBA
  5. PRUEBA
  6. PRUEBA
  7. PRUEBA
  8. PRUEBA
  9. PRUEBA

Por cierto, el puntero se pierde cuando utilizo onkeydown/up/press y con otros eventos no se pierde. Pero de a fuerzas necesito el onkeypress para insertar los espacios al presionar "enter" o tecnicamente la "key==13".

Gracias

Etiquetas: funcion, perder
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 19:02.