Foros del Web » Programando para Internet » Javascript »

Formato de las palabras

Estas en el tema de Formato de las palabras en el foro de Javascript en Foros del Web. Buenas, como podria obtener el formato del texto al hacer click en una palabra en mi pagina, es decir saber si tiene negrita o cursiva ...
  #1 (permalink)  
Antiguo 14/07/2008, 05:09
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Formato de las palabras

Buenas, como podria obtener el formato del texto al hacer click en una palabra en mi pagina, es decir saber si tiene negrita o cursiva o subrallada, o ambas, probe detectando con:

document.parentWindow.event.srcElement.tagName


bien esto funciona, osea si tiene negrita devuelve B si tiene subrallada me pone U, si tiene cursiva devuelve I , si no tiene nada devuelve P, pero si tiene Negrita y Subrallada devuelve B solamente.

de que forma puedo saber esto?

Saludos

PD: solo me interesa para IExplorer.

Edito: Puede ser que tenga que recorrer los elementos que este contenga? igualmente no se como hacerlo

Última edición por LeandroA; 14/07/2008 a las 05:21
  #2 (permalink)  
Antiguo 14/07/2008, 22:11
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Respuesta: Formato de las palabras

bien despues de una gran lucha de dos años creo que lo solucione

Código:
Private Sub ObtenerElemementos()
Dim Element As Object
Set Element = HTML.parentWindow.event.srcElement
Dim e As HTMLElementCollection


Do While Element.tagName <> "HTML"

    Select Case Element.tagName
    Case "B", "STRONG"
        EP.Blond = 1
    Case "I", "EM"
        EP.Italic = 1
    Case "U"
        EP.Underline = 1
    Case "FONT"
        EP.FontFace = Element.face
        EP.FontSize = Val(Element.Size)
        EP.ForeColor = Element.Color
    Case "P"
        EP.Aling = Element.Align
    Case "SPAN"
        EP.BackColor = Element.getAttribute("style").backgroundColor
    End Select

    Set Element = Element.parentElement
Loop

End Sub
ahora bien esto me funciona en el evento click

utilizando HTML.parentWindow.event.srcElement

pero como puedo detectar cuando preciono una tecla osea en la posicion donde se encuentra el clip del cursor prove con el evento onkeydown y onkeypress pero el elemento que obtengo es el del Body y bueno la funcion anterior no me sirve

vale aclarar que estoy trabajando en Document.designMode = "On" poreso es que puedo escrivir sobre el documento, para que se entienda quiero hacer algo asi como un editor html.

Gracias y espero almenos una respuesta.
  #3 (permalink)  
Antiguo 15/07/2008, 01:11
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Formato de las palabras

Seguro que tu consulta está en el foro correcto ? El código que has puesto no parece Javascript.
__________________
Grupos de Música
Pop Music Stars
  #4 (permalink)  
Antiguo 15/07/2008, 07:49
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Formato de las palabras

No. Es VisualScript. Pero como dijo que era para IE le debe servir.

El problema original es que muestra la primera etiqueta empezando adentro. Deberías hacer un loop con parentElement. El otro problema sería que el escript no sabe dónde detenerse, porque en algún momento va a aparecer un <html> que no es formato. Es lo que pasa con tu código, que muestra un <p>, que es una caja.

El último ejemplo me parece que no contempla todos los formatos posibles, pero tendría que leerlo mejor.

También hay que pensar en formatos CSS. O ensayar otros métodos como nodos y DOM.

Lo de las coordenadas del puntero es algo como

Código:
function posPuntero(e){
var puntoX = (document.all) ? e.x : e.pageX; 
var puntoY = (document.all) ? e.y : e.pageY;
}
Pon el ejemplo completo si no encuentras nada que te sirva y ya esté hecho en el foro, así te vamos a poder ayudar mejor.

Interpretar una clase CSS por medio de Javascript

https://www.squarefree.com/bookmarkl...html#ancestors

editor 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 16:01.