2009-02-27 19 views
7

Estoy tratando de poner en práctica un simple vuelco sobre herramientas para las imágenes en una página donde cuando pase el cursor sobre una imagen, se obtiene una pequeña ventana de información sobre herramientas y tienen los contenidos cargados desde una base de datos a través de AJAX.jQuery + información sobre herramientas de contenido ajax

puedo hackear esto juntos rápidamente, pero yo quería una manera elegante de hacer esto sin utilizar ningún JS en línea.

Así que mi pregunta es: Si capturo caso de vuelco dentro de mi archivo .js externo, ¿cómo lo paso el identificador de base de datos?

estoy usando jQuery por lo que me gustaría hacer algo como esto:

$('.item_roll').mouseover(function() { 
    //show tooltip and load ajax content 
} 

y mi HTML sería algo como esto:

<img src="thumb.png" class="item_roll" /> 

Sin llamar a una función de la etiqueta img, cómo ¿Envío la llamada JS arriba de la identificación de la base de datos? Espero que tenga sentido.

Gracias.

Respuesta

7

recomiendo tener tanto una clase y un id en la etiqueta de la imagen:

<img src="thumb.png" id="id_28436379" class="item_roll" /> 

Luego, en su caso jQuery, puede acceder a que de esta manera:

$(".item_roll").mouseover(function(event){ 
    alert(event.target.id.split("_")[1]); // displays 28436379 
}); 

Esto le debe permitir el acceso la identificación de la base de datos haciéndola la identificación de la etiqueta de la imagen.

EDITAR: Después de leer algunos comentarios útiles, he cambiado mi respuesta para que la identificación no comience con un número entero, ya que no es estándar y podría no funcionar en todos los navegadores. Como puede ver, el código split/[] extrae el número de identificación de la cadena id.

+0

¡perfecto! ¿Por qué no pensé en eso? :) Gracias. – givp

+1

Como un aparte, probablemente debería hacer $ ("img.item_roll") ... – cletus

+0

buen consejo, cletus. Gracias – givp

Cuestiones relacionadas