Foros del Web » Programando para Internet » Jquery »

metodos para asociar javascript a html univocamente

Estas en el tema de metodos para asociar javascript a html univocamente en el foro de Jquery en Foros del Web. Hola, Tengo un framework PHP propio en el cual instancio controles HTML con su propio JavaScript , hasta ahí bien, pero como sabéis el framework ...
  #1 (permalink)  
Antiguo 19/09/2012, 13:06
 
Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta metodos para asociar javascript a html univocamente

Hola,
Tengo un framework PHP propio en el cual instancio controles HTML con su propio JavaScript , hasta ahí bien, pero como sabéis el framework sirve para reutilización de codigo, por lo tanto en muchas ocasiones se reutilizan módulos enteros que se cargan por ajax(ejemplo, abrir un mismo formulario para ver o editar dos filas de la bd distintas al mismo tiempo) , el caso es que se pintan objetos con los mismos ids con lo cual el JavaScript se aplica varias veces al primero que encuentra.
Para solucionar esto se me ocurren varias formas:

1 - generar un codigo único que se añada como atributo del elemento html (<div id='xxx' id_unico='xxxxxxxxx'></div>). Esta opcion no me gusta mucho porque es posible que en alguna ejecución de la cadualidad que se repita el codigo generado(ya se que es remota, pero no me gusta dejar nada al azar) y además el generar codigo para cada elemento que instancie puede afectar al rendimiento de la aplicación.

2 - crearlos en vez de en HTML como codigo JavaScript y asociarlos a una variable y asociar el codigo a esta(var el=$('<div id="xxx">'). Esta opción tampoco me parece buena por temas de SEO ya que se pintarían después de cargar la pág. Aparte que en elementos mas complejos se complicaria el asunto.

3 - tuve que hacer un plugin de jquery(jwindows [URL="https://github.com/danidhsm/jwindows"]https://github.com/danidhsm/jwindows[/URL]), basicamente le das capas y te las transforma en ventanas y te emula un escritorio con barra de inicio y las aplicaciones abiertas se muestran en la barra de tareas, entre otras cosas(me falta colocar un codigo css para que se vea mejor el resultado). El caso es que hacia un each de cada div en objeto jquery que me pasaban y lo guardaba en un array(jwindows[x]=ventana,jwindows-icon[x]=icono,jwindows-taskapp[x]=taskapp) junto con el icono de la barra de inicio y el icono del escritorio. En eventos sobre alguno de los elementos tenia que encontrar el icono seleccionado a traves de un foreach, con ayuda del metodo .is() de jquery, y sacar su index para mostrar su ventana y su nombre en la barra de tareas. Esto ultimo me da una idea de que hay algo único en cada elemento html y que podria usar a mi favor, lo que no se es que ni como, jejeje. A ver si alguien me puede informar de esto.

$('.iconos').click(function{
var icono=$(this);
$.each(jwindows-icons,fuction(index,value){
if(icono.is($(this))){
var indice=index;
}
});
jwindows[indice].css('display','block');
jwindows-taskapp[indice].css('display','block');
});

es algo parecido a esto, por si arriba no me he explicado muy bien,jajaja

Y las preguntas son: se os ocurre o sabéis métodos mejores para esto? De no conocerlos cual os parece mejor solución?
Por favor ayuda, jeje.

Gracias de antemano.

Etiquetas: ajax, asociar, formulario, html, javascript, metodos, php, plugin
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 02:55.