2011-12-01 13 views
5

Ho il seguente set-up sulla mia pagina webAnnulla spumeggiante su un tag di ancoraggio HTML

<div id="clickable"> 
    <a href="hello.com">Here!</a> 
</div> 

C'è un modo ho potuto utilizzare per evitare l'evento click per il div per essere attivato. Presumo che abbia qualcosa a che fare con l'impostazione di qualcosa nell'attributo onclick per il tag di ancoraggio, ma provare cose semplici come e.preventDefault() non hanno funzionato.

Aiuto? Grazie!

+0

Si consiglia di aggiungere il [tag: javascript] tag, e, se si sta utilizzando una libreria, il tag rilevante per quella libreria ([tag: jquery], [Tag: MooTools], eccetera...). –

risposta

6

e.preventDefault(); non funzionerà con gli attributi onclick perché e non è definito. Anche e.preventDefault(); non voglio che tu voglia smettere di ribollire, hai bisogno di e.stopPropagation();

O utilizzare;

onclick="$(this).stopPropagation();" 

sul vostro ancoraggio, o

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

nei vostri eventi.

0

Puoi return false; o assicurarsi che la funzione sta usando e come argomento

$("#clickable a").click(function(e){ 
    //stuff 
    e.preventDefault; 
}); 
3

e.preventDefault() non impedisce all'evento di ribollire. È necessario aggiungere e.stopPropagation() o sostituirlo con return false.

Ulteriori informazioni sono disponibili allo differences between these three in this answer.

2

È possibile utilizzare onclick = "return false;"

<a href="#" onclick="return false;">stuff</a>

Problemi correlati