2010-05-18 15 views

Respuesta

37

Agregue return false; al final del código que se ejecuta al hacer clic en el enlace.

$('a.myLink').toggle(function() { 
    // run my code 
    return false; 
}); 

Alternativamente, se puede agarrar el objeto event, y llamar a .preventDefault().

$('a.myLink').toggle(function(event) { 
    event.preventDefault(); 
    // run my code 
}); 

Ambos métodos desactivan el comportamiento predeterminado del enlace.

El primero también evitará que el evento burbujee, por lo tanto, úselo solo si no necesita utilizar el evento de burbujeo.

+0

gracias. funciona perfecto – shaikh

3

Eso es porque hay una acción predeterminada asociada con elementos como enlaces, casillas de verificación, botones de radio, etc Usted puede cancelar este modo:

$('a.mylink').click(function(ev) { // Pass in the event object to your function 
    // do stuff 
    ev.preventDefault(); 
    return false; 
}); 

Más información aquí: http://api.jquery.com/event.preventDefault/

En el raro caso de adjuntar un controlador de eventos a un elemento secundario de un enlace, también querrá usar event.stopPropagation(), para detener el evento que burbujea el DOM.

Cuestiones relacionadas