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

152
Vistas
Envíe parámetros adicionales con 'vincular (esto) sin perder el objeto 'evento'

Tengo un patrón literal de objeto usado en un código y estoy tratando de pasar el nombre del objeto como referencia a otra función usando 'enlazar'. También necesito pasar un segundo parámetro, pero cuando hago esto, pierdo el acceso al objeto 'evento'.

 var obj = { init: function() { this.trig(); }, trig: function() { $('.addButton').on('click', this.doSomething.bind(this, secondParameter)) }, doSomething: function(e,args) { e.preventDefault(); // erroring here e.preventDefault is not a function //rest of the code } } obj.init();

¿Alguna idea de cómo puedo enviar un segundo parámetro mientras sigo teniendo acceso al objeto del evento?

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

0

doSomething solo acepta un parámetro. Si desea que acepte dos, debe escribirlo de esa manera.

Consulte la documentación de MDN para bind :

El método bind() crea una nueva función que, cuando se llama, tiene su palabra clave this establecida en el valor proporcionado, con una secuencia dada de argumentos que preceden a los proporcionados cuando se llama a la nueva función .

Por lo tanto, debe colocar variables para aceptar los argumentos vinculados antes de la variable para aceptar el argumento del objeto de evento:

 doSomething: function (boundArgument, e) {
about 4 years ago · Juan Pablo Isaza Denunciar

0

no es necesario usar bind ya que doSomething ya es un método del objeto, por lo que solo tiene que pasar el evento como argumento

 var obj = { init: function() { this.trig(); } trig: function() { $('.addButton').on('click', (event) => this.doSomething(event)) }, doSomething: function(e) { e.preventDefault(); // erroring here e.preventDefault is not a function //rest of the code } } obj.init();
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