Foros del Web » Programando para Internet » Javascript »

onclick accesible no funciona tras postback

Estas en el tema de onclick accesible no funciona tras postback en el foro de Javascript en Foros del Web. Hola, vuelvo por aquí porque creo que es una solución JS. Estaba usando un script de Alejandro Arco para hacer un onclick accesible: http://www.alejandroarco.es/desarrol...le-onclick-js/ Funciona ...
  #1 (permalink)  
Antiguo 05/11/2010, 06:19
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
onclick accesible no funciona tras postback

Hola, vuelvo por aquí porque creo que es una solución JS. Estaba usando un script de Alejandro Arco para hacer un onclick accesible: http://www.alejandroarco.es/desarrol...le-onclick-js/

Funciona sin problemas hasta que lo meto dentro de un UpdatePanel de ASP.Net y tras hacer el postback asíncrono, puesto que la página no se recarga (no realiza el evento load u onload), ya no se realiza la transformación del vínculo.

¿Cómo puedo hacer para lanzar de nuevo la transformación del evento onload?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 05/11/2010, 06:26
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: onclick accesible no funciona tras postback

¿Para que sirve esa libreria? No entendi nada de lo que has dicho
  #3 (permalink)  
Antiguo 05/11/2010, 06:43
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: onclick accesible no funciona tras postback

El atributo onclick no cumple los estándares de accesibilidad, por lo que se sustituye por rel que sí los cumple:
onclick="valor" No es accesible
rel="valor" Sí es accesible
Con el script se transforman automaticamente las etiquetas a con el atributo rel="onclick[funcion,parametro1, ..., parametroN]" de manera que respondan como si tuvieran el atributo onclick="funcion(parametro1, ..., parametroN)" pero haciéndolo accesible.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 05/11/2010, 07:07
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: onclick accesible no funciona tras postback

Pero si no se recarga la pagina entonces la inclusion de la libreria tiene que seguir estando ahi. No se que es lo del updatepanel, pero si es algo como un iframe, tendrias que usar el top.nombrefuncion() para que usase las librerias puestas en el documento padre
  #5 (permalink)  
Antiguo 05/11/2010, 07:20
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: onclick accesible no funciona tras postback

Efectivamente, la librería sigue ahí, pero lo que hace precisamente es agregar una función que se ejecute ante el evento onload de la página. Al hacer un postback, la librería sigue estando cargada pero el evento onload no se lanza.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 05/11/2010, 07:30
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: onclick accesible no funciona tras postback

Cita:
Iniciado por Bravenap Ver Mensaje
Efectivamente, la librería sigue ahí, pero lo que hace precisamente es agregar una función que se ejecute ante el evento onload de la página. Al hacer un postback, la librería sigue estando cargada pero el evento onload no se lanza.
Al principio se ejecuta el onload, este agrega la funcion, luego haces un cambio asincrono en el documento, pero este no borra la funcion, sigue ahi. Luego cuando hagas el onclick en el rel usara una funcion ya existente en la libreria. No entiendo porque hay que ejecutar el evento onload otra vez
  #7 (permalink)  
Antiguo 05/11/2010, 07:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 8 años, 8 meses
Puntos: 1485
Respuesta: onclick accesible no funciona tras postback

@gurthgor,
si analizas el codigo, entenderas porque hay que invocar de nuevo el evento onload. es en este evento donde se inicia los cambios. se puede hacer pero no de la forma tradicional donde se invoca el evento como una funcion cualquiera, por ejemplo onload(). en este caso tienes que crear un evento sintetico y despacharlo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 05/11/2010, 07:41
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: onclick accesible no funciona tras postback

Revisa la librería y lo entenderás.

Cuando se completa la carga la página, evento onload, la librería se encarga de buscar los elementos "a" que tengan el atributo rel y les agrega la funcionalidad onclick. Si haces un postback que te cargue nuevos elementos "a" con atributo rel sobre ellos no se aplica la librería porque el evento onload no se ha lanzado.

Por tanto, la solución pasa por realizar de nuevo la llamada a la función que transforma los rel, que es la función creada en la variable s del script.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 05/11/2010, 07:48
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 8 años, 8 meses
Puntos: 1485
Respuesta: onclick accesible no funciona tras postback

ja, mas complicado no podia ser! ciertamente, es mas sencillo si invocas la funcion s en lugar de crear el evento sintetico.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 05/11/2010, 07:57
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: onclick accesible no funciona tras postback

Pues hay dos opciones, llamar la funcion que deberia llamarse en el onload cuando se ejecute la funcion asincrona o bien al crearse los nuevos enlaces con la funcion asincrona que estos los crees con el formato que usa la libreria
  #11 (permalink)  
Antiguo 05/11/2010, 09:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.550
Antigüedad: 15 años, 9 meses
Puntos: 1264
Respuesta: onclick accesible no funciona tras postback

Hola:

Que tal Bravenap, cierto que últimamente te asomas poco por este foro...

La verdad es que no llego a comprender el problema.... ¿es acaso por validaciones?... porque lo que indique una validación no tiene porqué ser cierto...

Un onclick en un enlace tiene un significado semántico muy concreto, y parece que los de la w3.org no saben deducir en sus validaciones automatizadas...

Como condicionar un enlace si no se usa el onclick...

<a href="enlace.html" onclick="return confirm('desea enlazar...')"...

Otra cuestión sobre la semántica: el atributo rel tiene un significado semántico, que evidentemente las validaciones w3.org se pasan por alto, al menos eso deduzco de lo que comentas del script que usas.

Llevo tiempo notando que las "mentes pensantes" se equivocan en muchas cosas... ¿o me equivoco?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 05/11/2010 a las 09:58 Razón: ortografía
  #12 (permalink)  
Antiguo 05/11/2010, 15:27
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: onclick accesible no funciona tras postback

Exacto zerokilled, lo que no sé muy bien es como invocar la función s, ya que s está definido como una variable no una función realmente.

gurthgor la opción de crearlos con el formato de la librería lo descarto porque para eso tengo la librería para simplificar el código.

¿Qué tal caricatos? Sí, últimamente me acerco poco, pero ahora que me estoy metiendo con AJAX y JSON creo que vendré más a menudo. Efectivamente es por temas de validación w3c.org. Ya que he puesto en la Web que cumple los estándares (que anda que no me está costando) pues por tratar de mantenerlo. Si te digo la verdad no sé a qué te refieres con lo de que se equivocan las mentes pensantes..

Un saludo a los tres.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #13 (permalink)  
Antiguo 05/11/2010, 15:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 8 años, 8 meses
Puntos: 1485
Respuesta: onclick accesible no funciona tras postback

se invoca de la misma forma. funciones son funciones y todas se invocan igual. dicha funcion tienes que invocarla luego de agregar el contenido al documento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #14 (permalink)  
Antiguo 05/11/2010, 17:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.550
Antigüedad: 15 años, 9 meses
Puntos: 1264
Respuesta: onclick accesible no funciona tras postback

Hola:

Te cuento lo de "las mentes pensantes", que por cierto, solo es mi opinión, y dudo que te ayude en algo, pero ahí va:

Supongo que vale en los formularios el manejador de eventos "onsubmit", evidentemente asociado al tag form y al evento submit. En enlaces no existe el manejador onlink (o como se quiera), pero se asocia al tag a y al evento de "enlazar"... se cancelan los envíos de formularios con onsubmit="return false"... que evidentemente en vez de false se suele poner una función validadora o una ventana modal de confirmación...

Para enlaces en vez de onsubmit, todo es igual pero con onclick, o sea que es algo que tiene su razón de ser.

Creo que ese fallo debe de ser por el odioso hábito de muchos mal-llamados webmaster, que usan el tag a para llamar a funciones javascript, casi exclusivamente para que se vea la mano que sale, sin considerar que es un simple estilo...

Por otro lado, viendo justamente lo que significa el atributo rel: El valor de este atributo es una lista de tipos de vínculo separados por espacios.

He visto lo que pone el autor que has citado: onclick accesible... y por ejemplo:
Código:
<a title="Ejemplo uso Oclick JS - Hola Mundo" rel="onclick[HolaMundo]" href="#hola-mundo">Ejemplo uso Oclick JS - Hola Mundo (sin parámetros)</a>
... resumiendo: Si pasa una validación gracias a una argucia que semánticamente está "fatal", a mi personalmente no me cuadra.

Si es algo tan importante, no sé si podrá servirte insertar el evento con el DOM... ya sabes addEventListener/attachEvent... aunque supongo que ya lo habrás pensado.

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #15 (permalink)  
Antiguo 05/11/2010, 17:29
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: onclick accesible no funciona tras postback

Me has dejado "pez" caricatos y a estas horas estoy ya medio dormido. Mañana le echo un ojo a ver si estoy un poco más espabilado.

'Ta mañana.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #16 (permalink)  
Antiguo 05/11/2010, 17:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.550
Antigüedad: 15 años, 9 meses
Puntos: 1264
Respuesta: onclick accesible no funciona tras postback

Hola:

Como puse antes, supongo que no te servirá de nada mi opinión, pero que no pase una validación de accesibilidad no iguala (al menos en este caso, me lo parece) a que no sea una página accesible. Pero la artimaña para validar le quita semántica a un atributo, que si bien no suele considerarse, no está desaprobado ni obsoleto... ¡Je, je! yo tampoco lo uso.

¡Ta mañana!

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: onclick, postback, tras
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:04.