2012-01-09 15 views
5

ho un link:JQuery onclick condition stop link?

link

usando ::

$('#myID').click(function(){ 
    if($("#myCheckbox").is(":checked")) { 
     alert('Yes it is...'); //continue as normal 
    } 
    else { 
     alert('Not checked'); 
     //exit do not follow the link 
    } 

... 

così è // uscita non seguono il collegamento possibile?

risposta

7

Provare a utilizzare event.preventDefault()

$('#myID').click(function(e) { 
    if ($("#myCheckbox").is(":checked")) { 
     alert('Yes it is...'); 
    } 
    else { 
     alert('Not checked'); 
     e.preventDefault(); // this prevents the standard link behaviour 
    } 
} 
3

Semplice:

$('#myID').click(function (e) { 
    ... 
} else { 
    alert('Not checked'); 
    e.preventDefault(); 
} 

È inoltre possibile utilizzare return false, ma questo sarà anche fermare la propagazione del evento click (che potrebbe essere indesiderato).

2

return false nella vostra condizione else.

$('#myID').click(function(){ 
if($("#myCheckbox").is(":checked")) { 
    alert('Yes it is...'); //continue as normal 
} 
else { 
    alert('Not checked'); 
    return false; 
} 
3

basta usare return false; quando si vuole fermare l'azione in un determinato punto

2

È possibile utilizzare event.preventDefault()

Lasciate che il vostro click-funzione di ricezione l'evento come parametro. Quindi puoi fare event.preventDefault() quando non vuoi seguire il link.

$('#myID').click(function(event){ 
    if($("#myCheckbox").is(":checked")) { 
     alert('Yes it is...'); //continue as normal 
    } 
    else 
    { 
     alert('Not checked'); 
     //exit do not follow the link 
     event.preventDefault(); 
    } 
}); 
1

È possibile passare alla manifestazione, e ignorare il comportamento predefinito con il seguente:

$('#myID').click(function(e) { 
    e.preventDefault(); 
    //exit do not follow the link 
});