stopimmediatepropagation stop prevent event all jquery jquery-ui accordion event-bubbling

jquery - prevent - stoppropagation angular



El acordeón jquery evita el burbujeo/permite la acción de enlace predeterminada (2)

Tengo una configuración de acordeón así:

$(''.shortheadline'').accordion({ active: false, header: ''.headline'', autoHeight: false, animated: ''slowslide'', changestart: function(event, ui) { $(''.brief'').css(''min-height'',''0'') }, change: function(event, ui) { $(''.brief:visible'').css(''min-height'',''80px''); $(''.headline'').blur(); } });

Quiero que el clic solo se registre en el .headline div, no en el enlace dentro. El enlace debe llevarlo a la página del artículo.

<div class="shortheadline"> <div class="entry"> <div class="headline"> <div class="timestamp">11:34 AM</div> <div class="title"><a href="http://beta.macobserver.com/tmo/article/jeff_gamet_shares_iphone_tips_and_tricks_on_macjury/">Jeff Gamet Shares iPhone Tips and Tricks on MacJury</a></div> </div> <div class="brief"> <div class="teaser_image"> <img src="/imgs/cache/imgs/teaser_images/20090708macjury_new-0x80.png" width="80" height="80" id="teas_48236" alt="macJuryJeff Gamet Shares iPhone Tips and Tricks on MacJury" /></div> <div class="teaser"><p><em>The Mac Observer''s</em> Jeff Gamet joined <em>MacJury</em> host Chuck Joiner to talk about Apple''s iPhone OS 3.0, the iPhone 3GS, and to share some iPhone tips and tricks, too.</p> </div> </div> </div> <!-- more entries --> </div>

¿Hay alguna forma de evitar el burbujeo del evento por lo que el acordeón solo se activa al hacer clic en un div? ¿O hay una manera de permitir que la acción predeterminada del enlace continúe?

He intentado:

$("a").click(function(){ window.location=this.href; });

Lo que hace que el enlace funcione, pero no permite que el usuario abra el enlace en una nueva pestaña / ventana.

¡Gracias!


Tratar

$("a").click(function(event){ event.stopPropagation(); });

La función de clic se pasa a un objeto ''evento''. Al invocar el método ''stopPropagation'' del objeto de evento, puede evitar el burbujeo.


Me encontré con esta sintaxis alternativa que funcionó para mí;

$("a").bind("click", function(e) {e.stopPropagation();});