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

107
Views
¿Cómo alterna el clic para que los datos de la función no se muestren por segunda vez?

createData es una función que muestra datos y aparece cuando se hace clic en el botón. ¿Cómo hago para que los datos desaparezcan cada dos clics?

 document.getElementById("clickme").onclick = createData;
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

 let item = document.getElementById("clickme") let checker = true; item.addEventListener('click', checkData); function checkData() { if (checker) { createData(); } else { clearData(); } } function createData() { checker = false; console.log('create') } function clearData() { checker = true; console.log('clear') }
 <button id="clickme"> click me! </button>

about 4 years ago · Juan Pablo Isaza Report

0

Ok... Si lo hice bien, desea que cualquier otro clic destruya los datos anteriores de createData, ¿es correcto?

Como no puedo ver createData, asumiré que es una función como la siguiente:

 //your function assumed function createData(){ //creating data return data }

si desea que createData devuelva datos cada vez que haga clic en $('#clickme') y los destruya cada vez que haga clic en otra cosa, intente de la siguiente manera:

 $('#clickme').on('click',function(){ }) $(document).on('click',function(e){ youClickedThisId = e.target.id if (youClickedThisId == 'clickme') { createData() console.log(createData()) } else { //createData( with Parameters to destroy ) or //a new function to destroy previously data called: destroyData() console.log(destroyData()) } }) let data = 'i`m your data' function createData() { return data } function destroyData() { data = 'i was your data' data = null //or data = '' }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <button id="clickme"> CLICK ME </button> </body>

En las próximas preguntas, ¡le aconsejo que muestre su código! ¡Espero que esta respuesta te ayude!

about 4 years ago · Juan Pablo Isaza Report

0

Hay varias formas de hacer esto, pero la más simple sería cambiar el estado de visualización de los datos. Además, no use atributos de eventos en línea, como onclick , ya que esta es una técnica heredada de más de 25 años para configurar eventos que está muy desactualizada hoy y puede causar todo tipo de problemas con su código. En su lugar, use .addEventListener() , que es la forma moderna basada en estándares para configurar eventos.

 document.getElementById("clickme").addEventListener("click", createData); const data = document.querySelector(".data"); function createData(){ // You can have more code in here that updates the data as needed before // toggling its display state data.classList.toggle("hidden"); }
 .hidden { display:none; }
 <div id="clickme">Click to toggle display of data</div> <div class="data hidden">This is the data</div>

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!