2012-06-08 20 views
8

Codice:Posso eseguire un collegamento dopo preventDefault()?

$('#myLink').click(function (e) { 
    e.preventDefault(); 

    ... 

    if (someCondition) { 
     ... code ... 
    } else { 
     ... execute the link 
    } 
}); 

mi piacerebbe, se someCondition è falso, eseguire il href originale del collegamento (in modo, andare quel link, cambiare la pagina). È possibile?

risposta

5

Basta muovere il preventDefault all'interno del if/else:

$('#myLink').click(function (e) { 

    ... 

    if (someCondition) { 
     e.preventDefault(); 

     ... code ... 

    } else { 
     ... execute the link 
    } 
}); 
+2

a seconda di quanto tempo la vostra condizione prende il browse potrebbe seguire il link originale prima di raggiungere quella parte del codice. – deweydb

+0

E quello merita un -1? LOL ok – Mottie

+3

Sì, perché la risposta è errata e fuorviante. – deweydb

1

appena messo il e.preventDefault(); all'interno della condizione?

1

Date un'occhiata: Jquery Location Href?

Fondamentalmente si può usare window.location.href = 'http://example.com';

12
$('#myLink').click(function (e) { 
    e.preventDefault(); 

    ... 

    if (someCondition) { 
     //do stuff 
    } else { 
     location.href = $(this).attr('href'); 
    } 
}); 
Problemi correlati