Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con evt.preventDefault

Estas en el tema de Problema con evt.preventDefault en el foro de Jquery en Foros del Web. Hola, Estoy realizando una aplicacion, y en esta aplicación, el usuario se loguea y aparece un enlace que cuando pulsas en el, se aparece un ...
  #1 (permalink)  
Antiguo 29/01/2016, 11:37
 
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
Mensaje Problema con evt.preventDefault

Hola,
Estoy realizando una aplicacion, y en esta aplicación, el usuario se loguea y aparece un enlace que cuando pulsas en el, se aparece un mensaje de javascript (es mas complejo, pero estoy intentando empezar por lo minimo, solo quiero que muestre el alert de momento)
el caso es que tengo lo siguiente
Código:
<h1>
    <a href="#" id="exp">Pepe</a>
        </h1>
y en mi codigo Javascript tengo esto:

Código:
$("#exp").click( function(ev) {
        ev.preventDefault();
    });
El problema está que cuando pulso sobre el enlace, el evento de este, continua ejecutandose, lo he probado todo y ya no se que hacer, ¿Alguna aclaración?
Estoy usando jquery ultima version, todo esta bien indexado, y va todo lo demás correctamente
  #2 (permalink)  
Antiguo 29/01/2016, 12:16
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con evt.preventDefault

En lugar de pasarle el parámetro ev, pasale el objeto event
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 29/01/2016, 12:29
 
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Problema con evt.preventDefault

Hola,

¿Como hago eso?
  #4 (permalink)  
Antiguo 29/01/2016, 13:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema con evt.preventDefault

Con lo que tienes debería bastar; quizá el evento se está propagando a otro enlace o quizá estás intentando hacerlo antes de que cargue el DOM.

Inténtalo así:
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("#exp").click(function(ev) {
  3.         ev.preventDefault();
  4.     });
  5. });

DEMO

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 29/01/2016, 13:26
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problema con evt.preventDefault

Cita:
$("#exp").click( function(event) {
event.preventDefault();
});
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 29/01/2016, 13:45
 
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Problema con evt.preventDefault

El DOM esta cargado ya que la funcion esta dentro de $(document).ready({}), ademas de que funciona por que la aplicacion funciona correctamente.
No hay otro enlacce encima de de este

Cita:
IsaBelM, tengo ese mismo codigo y no funciona, tambien he probado a obtener los argumentos de JavaScript con arguments[0].preventDefault(); y tampoco funciona
Se me ha olvidado mencionar que ese enlace esta creado dinamicamente con javascript, no creo que tenga ningun problema con eso, pero no se, es por dar ideas.
  #7 (permalink)  
Antiguo 29/01/2016, 14:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema con evt.preventDefault

Si es un elemento insertado de forma dinámica, el script no funcionará a menos de que delegues el evento al elemento contenedor del enlace. Si no sabes cuál elemento es, puedes delegarlo al documento o a la ventana.

Código Javascript:
Ver original
  1. $(document).on("click", "#exp", function(ev){
  2.     ev.preventDefault();
  3. });

DEMO

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 30/01/2016, 09:58
 
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Problema con evt.preventDefault

Tengo que darte las gracias, me has ayudado a comprender mejor como funciona JQuery, te estoy muy agradecido, acabo de probarlo y ahora si que salta el evento cuando haces click. ya lo entiendo.

Etiquetas: eventos, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:23.