
miguel mora
Estoy creando un menú receptivo: Demostración de Codepen
Para evitar que la página se vuelva a cargar cuando hago clic en un enlace, tengo:
$('nav.menu a[href="#"]').click(function () {
$(this).preventDefault();
});
Pero esto no parece funcionar. Cuando hago clic en un botón, el menú desaparece.
¿Alguien sabe lo que estoy haciendo mal?

sergi
No es el elemento que necesita un .preventDefault()
es el clic event
.
Prueba esto:
$('nav.menu a').click(function (event) {
event.preventDefault();
// or use return false;
});
No recomiendo usar el href
como selector, sin embargo, mejor darle un id
o name
.
De MDN, sobre .preventDefault():
Cancela el evento si es cancelable, sin detener la propagación del evento.
Usted puede leer más aquí:
Entonces, al usar en el CSS pointer-events: none;
todos los clics serán ignorados. Esta es una alternativa “reciente” y compatible con IE11+, Firefox 3.6+, Chrome 2.0+, Safari 4+.
Aquí hay una manera muy fácil de hacerlo dentro de html.
<a class="font-weight-bold" href="https://stackoverflow.com/questions/18575623/javascript:void(0);"> Click Here </a>
Solo devuelve falso.
$('nav.menu a[href="#"]').click(function () {
return false
});
Usar así:
$('nav.menu a[href="#"]').click(function (event) {
event.preventDefault();
});
$('nav.menu a[href="#"]').click(function (e) {
e.preventDefault();
});
Prueba esto:
$('.menu a').click(function(e){
e.preventDefault(); // stop the normal href from reloading the page.
});
Ejemplo de código abierto de trabajo: http://codepen.io/anon/pen/cynEg
No tenía una referencia a la biblioteca jquery incluida. Además, la función ‘consultar’ ahora arroja un error, pero preventDefault está funcionando.
Editar He comentado la segunda función.

adkl
Y una opción en línea sin jQuery:
<a href="https://stackoverflow.com/questions/18575623/javascript:function%20f(e){e.preventDefault();}">Link</a>
Y no olvide que con esto ya ha usado el nombre “f” para una función, así que no nombre otras funciones como esta.
posible duplicado de preventDefault() en una etiqueta
– Matemáticas
02/09/2013 a las 14:41
Vea esta respuesta: stackoverflow.com/questions/265478/preventdefault-on-an-a-tag/…
– Musaddiq Khan
19 de mayo de 2018 a las 12:06