Foros del Web » Programando para Internet » Javascript »

pasteHTML en contentEditable funciona con selección pero no en posición cursor

Estas en el tema de pasteHTML en contentEditable funciona con selección pero no en posición cursor en el foro de Javascript en Foros del Web. Hola: Con la siguiente función inserto un texto en un div con contentEditable en una página asp.net: ---------------------------------------------------------------------- function inHTML(editor, strTexto) { var selRango; try ...
  #1 (permalink)  
Antiguo 11/01/2012, 15:43
 
Fecha de Ingreso: enero-2012
Ubicación: Madrid
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
pasteHTML en contentEditable funciona con selección pero no en posición cursor

Hola:

Con la siguiente función inserto un texto en un div con contentEditable en una página asp.net:

----------------------------------------------------------------------
function inHTML(editor, strTexto)
{
var selRango;
try
//FF
{
document.execCommand("inserthtml", false, strTexto);
}
catch(e)
//IE
{
try
{
editor.focus();
selRango =document.selection.createRange();
selRango.pasteHTML(strTexto);
}
catch(E)
{
alert('No se ha seleccionado ningún texto');
}
}
return false;
}
-----------------------------------------------------------------

- Funciona perfectamente en IE8 y FF cuando lo que se hace es insertar sobre una selección de texto.

- Funciona bien en FF pero no funciona en IE8 cuando lo que se hace es insertar sobre la posición del cursor sin hacer selección de texto y me arroja el alert con el error.

Agradeceré a quien me pueda indicar qué código hay que poner para que se pueda insertar texto en IE8 cuando se intenta insertar sobre el cursor solo sin selección de texto. Posiblemente hay que buscar la posición del cursor y ahí insertar el texto, pero no estoy seguro y posiblemente se puede solucionar variando algo en el código anterior.

Saludos al grupo.

Última edición por jealcaraz; 11/01/2012 a las 15:54
  #2 (permalink)  
Antiguo 12/01/2012, 10:39
 
Fecha de Ingreso: enero-2012
Ubicación: Madrid
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: pasteHTML en contentEditable funciona con selección pero no en posición cu

SOLUCIONADO

Hola:

Gracias a un enlace a este mismo foro he conseguido dar con la solución.
http://www.forosdelweb.com/f13/no-funciona-createrange-ie8-725378/
Parece que solo ocurre con IE8 y de lo que se trata es de poner el foco en el div editable antes de hacer la selección.

Hay que hacer una referencia en la función directamente al elemento div mediante getElementById. Basta cambiar la línea:
editor.focus();
por esta otra
document.getElementById(editor).focus();
donde editor es el id del div con contentEditable y es el primer parámetro de la función.

Saludos al grupo.

Etiquetas: funcion, html
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 01:12.