2016-05-16 22 views
6

Ho questo semplice problema: un div che contiene un collegamento e il div ha una funzione onclick definita. Tuttavia, quando faccio clic sul collegamento, voglio solo seguire il collegamento e non attivare la funzione di divisione del contenitore.Clic sul link all'interno di onclick del div diviaggio

Fiddle

HTML

<div> 
    <a href="http://www.google.com" target="_blank">Google</a> 
</div> 

JQuery

$('div').click(function() { 
    alert("test"); 
}); 

CSS

div { 
    height: 100px; 
    width: 200px; 
    border: 1px solid red 
} 

Così qui, quando clicco il div, un avviso viene mostrato: che va bene Quando si fa clic sul collegamento, non voglio che venga visualizzato l'avviso.

Come evitare questo?

risposta

8

È possibile applicare event.stopImmediatePropagation(); al collegamento. In base all'API, questo impedisce al server di essere eseguito e impedisce che l'evento ritorni sull'albero DOM (https://api.jquery.com/event.stopimmediatepropagation/).

Ecco il violino: http://jsfiddle.net/dxrdrqrc/

+0

Grazie Gerardo, funziona benissimo. – chiapa

+1

Nessuna preoccupazione. Se hai altri gestori per il collegamento, usa invece "stopPropagation". –