disparar un clic en un enlace de anclaje

Tengo una colección de enlaces con miniaturas que coinciden con ellos. Necesito cargar estas miniaturas como divs con la imagen de fondo configurada. Estoy usando una sola imagen que contiene todas las miniaturas, así que no puedo cargar las imágenes como imágenes. Sin embargo, hacer clic en la imagen debería hacer lo mismo que hacer clic en el enlace, hice un JSFiddle para mostrar lo que quiero decir (y para mostrar el problema):

el JSFiddle

Cuando hago clic en los dos enlaces allí, se abre una nueva ventana que tiene el sitio que quiero. Pero cuando hago clic en las miniaturas no puedo hacer clic en el enlace activado.

Al hacer clic en el enlace tendrá una funcionalidad adicional (estadísticas), por lo que prefiero activar un clic en el enlace sobre el enlace de la misma función personalizada para los anclajes y los divs.

Gracias por adelantado

Demostración de trabajo de Hiya aquí: http://jsfiddle.net/f6FJ3/19/

para la razón del disparador, lea esto: jQuery: disparador click () no funciona?

It's important to clarify that doing jQuery('#open').click() does not execute the href attribute of an anchor tag so you will not be redirected. It executes the onclick event for #open which is not defined.

El código siguiente obtendrá el resultado deseado de la ventana abriéndose al hacer clic en la imagen.

Código JQuery

 $(document).ready(function(){ $('.tmb').click(function(){ var target=$(this).parent().find("a"); $("#debug").text("clicked "+target.text()); //target.triggerHandler('click'); window.open(target.attr('href')); }); });​ 

Espero que esto ayude, salud!

En HTML4, el evento de clic se definió solo para el elemento de entrada y algunos navegadores, especialmente FF, siguieron estrictamente la especificación . Sin embargo, HTML5 cambió el juego y cualquier navegador moderno implementa esta funcionalidad, pero jQuery todavía tiene un caso especial para este evento (extracto del método de activación jquery ):

 if ( !onlyHandlers && !event.isDefaultPrevented() ) { if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { // Call a native DOM method on the target with the same name name as the event. 

Como solución puede cambiar su código de:

 target.trigger("click"); 

a

 target.get(0).click();