Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
¿Cómo jquery puede desencadenar un evento de clic con un parámetro adicional?

En jquery puedes hacer esto fácilmente usando algo como:

 //to trigger click with params jQuery(domElement).trigger( 'click', [ additionalParameters ] ); //to listen click the params jQuery( domElement ).on( 'click', function( event, parameters ) { event.stopImmediatePropagation(); }

¿Cómo hacer esto usando javascript puro?

No podemos usar 'nuevo evento personalizado' porque no acepta 'clic' como evento. No podemos usar 'nuevo MouseEvent' porque, a diferencia de 'CustomEvent', no tiene la capacidad de pasar parámetros.

Podemos usar algo como esto:

 //to trigger click with params domElement.addEventListener("click", function(e) { var event = new CustomEvent("fakeClick", {'detail': { custom_info: 10, custom_property: 20 }}); this.dispatchEvent(event); }); //to listen click the params domElement.addEventListener('fakeClick', function(event) { var parameters = event.detail; event.stopImmediatePropagation(); });

Pero no podemos usar 'stopImmediatePropagation' porque solo afectará nuestro evento 'fakeClick'. Como queremos que afecte a 'clic'.

¿Cómo jQuery puede hacer esto? Debería haber una manera de hacer esto usando javascript puro.

Editar: algún tipo al azar que menciona sobre otro hilo, que no está relacionado. Estoy preguntando cómo jquery hace esto. Esto es lo que mencionó: => ¿Cómo pasar argumentos a la función de escucha addEventListener?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En su evento fakeClick , en el parámetro adicional envíe también el evento original y aplique stopImmediatePropagation en él:

 //to trigger click with params domElement.addEventListener("click", function(e) { var event = new CustomEvent("fakeClick", {'detail': { custom_info: 10, custom_property: 20, originalEvent: e }}); this.dispatchEvent(event); }); //to listen click the params domElement.addEventListener('fakeClick', function(event) { var parameters = event.detail; var clickEvent = parameters.originalEvent; event.stopImmediatePropagation(); clickEvent.stopImmediatePropagation(); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Hola, por favor verifique el código a continuación.

tu funcion

 function testFunction(num) { $('.my-output').html('Value'+num); }

Agregar evento a parámetro

 <div class="my-object">Click Here</div> <div class="my-output"></div>

Ejecutar evento

 $('.my-object').trigger(testFunction(123)); 

 function testFunction(num) { $('.my-output').html('Value'+num); } $('.my-object').trigger(testFunction(123));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="my-object">Click Here</div> <div class="my-output"></div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda