Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
Cómo ejecutar una función sin parámetros en un evento definido por el detector de eventos

Tengo una función que crea un elemento de input y lo agrega a otro elemento.

Estoy tratando de hacerlo, de modo que si se usa una matriz como parámetro de esta función, los datos de la matriz se usan como el value del elemento de input . Si no se especifica una matriz como parámetro, el valor de entrada debe estar vacío.

Aquí está mi código

HTML

 <div id="app></div>

JavaScript

 let app = document.getElementById('app') let people = [["Adam",10],["Peter",90],["John",30],["Stephen",50]] for (var key in people) { showName(people[key]) } function showName(pData) { let singleName = document.createElement('input') if (typeof pData !== 'undefined') { singleName.value = pData[0] } app.append(singleName) } let button = document.createElement('button') button.addEventListener('click',showName) button.innerHTML = "Add name" app.prepend(button)

Esto funciona bien, puedo ejecutar la función con un parámetro y sin parámetro y funciona como se esperaba.

Sin embargo, cuando configuro la función para que se active a través de un detector de eventos y sin un parámetro, puedo ingresar una entrada con un valor de 'indefinido', este no es el caso si ejecuto la función escribiendo showName().

Por lo tanto, esto me lleva a creer que se pasa algún tipo de parámetro cuando el evento se activa a través de un detector de eventos. ¿Es este el caso? Y si es así, ¿cómo hago para que el botón cree un elemento de input sin valor?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Por lo tanto, esto me lleva a creer que se pasa algún tipo de parámetro cuando el evento se activa a través de un detector de eventos. ¿Es este el caso?

Sí, su función pasará el objeto de evento, que contiene información sobre el clic que tuvo lugar.

Y si es así, ¿cómo hago para que el botón cree un elemento de entrada sin valor?

En lugar de pasar showName directamente a addEventListener, cree una nueva función. Esa función ignorará el objeto del evento y llamará a showName sin parámetros:

 button.addEventListener('click', (event) => showName()) // Or: button.addEventListener('click', () => showName())
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!