En JavaScript, ¿cómo obtengo algo para almacenar la cantidad de veces que se hace clic en un botón?

Hay varias formas Si desea mostrar el recuento, puede usar la propiedad textContent un elemento DOM para almacenar el valor. Cuando se hace clic en un botón, el detector de eventos ” onclick ” agregado leerá el textContent de textContent de ese elemento DOM (como un div ), lo incrementará y volverá a escribir. En este caso, alguien que acceda al contenido web a través de las herramientas del desarrollador puede cambiar fácilmente el valor.

O … para el evento de clic, event.detail debe mantener un recuento de clics consecutivos que ocurrieron en un corto período de tiempo e incrementados en uno. Puede agregar un detector de eventos simple como la function(e){console.log(e.detail)} para probarlo. En mi humilde opinión no es muy confiable!

Si no desea que el cliente tenga acceso a la cifra de conteo, se espera que use cierres para mantener el conteo actual. Algo como;

  función makeCounter (initial = 0) {
   recuento var = inicial;
   return {incremento: _ => ++ cuenta,
           leer: _ => contar,
           restablecer: n => cuenta = n
          };
 }

 contador var = makeCounter (10);  // valor inicial 10
 counter.read ();  // devuelve 10
 counter.increment ();  // devuelve 11
 contador.restablecimiento (77);  // devuelve 77

Luego, para el botón de incremento, debe agregar un oyente de eventos como

  incrementButton.addEventListener ("clic", counter.increment.bind (esto))

Ve a jugar en repl.it

tener una variable que contenga un contador, luego, en cada evento de clic, aumente el contador en uno. Ejemplo con jquery:

contador var = 0;

$ (‘. my-button’). on (‘click’, function () {

contador ++;

});

Ahora, si desea realizar un seguimiento de este recuento, deberá pasar el valor al servidor utilizando ajax estándar y el servidor puede almacenarlo en su almacenamiento.

Bueno, eso debería ser bastante sencillo:

  1. Declare una variable global en su JavaScript, digamos
    var clickCount = 0;
  2. Escriba una función de clic para su botón, algo como:
  3. Declare la función de la siguiente manera:
    function myFunction () {
    clickCount ++;}
  4. Ahora, cada vez que haga clic en su botón, se llamará a myFunction () y el valor de clickCount se incrementará en uno. Puede usar clickCount a lo largo de su secuencia de comandos según sus necesidades.

Esta pregunta abarca varios temas.

Brevemente, JavaScript tiene variables, por lo que puede almacenar números en la memoria temporal. Puede hacer todo tipo de cosas inteligentes con esto o no, pero lo esencial es que el “contador de clics” olvida su recuento si vuelve a cargar la página actualizándola o navegando y volviendo. Mire ejemplos de JQuery de contar clics en línea.

Si necesita almacenar clics a largo plazo, hay un objeto de “almacenamiento local” en el navegador para este propósito.

Si necesita saber cuántos clics ha realizado un usuario único en cualquier navegador en cualquier dispositivo durante su vida útil, necesita que los usuarios tengan inicios de sesión y almacenen el contador de clics en algún tipo de base de datos en un servidor.

Dar a las aplicaciones web memoria a largo plazo es siempre una cuestión de identificación, seguridad y persistencia de datos. Que aburrido.

Si usar la base de datos es una opción, entonces es bastante fácil. Puede escribir una función usando AJAX que se conecta a la base de datos cada vez que alguien hace clic en el botón. La función básicamente incrementa el valor almacenado dentro de una tabla (un campo es suficiente para el propósito de la prueba de concepto). Por supuesto, después de la creación de la tabla, el valor inicial será cero. También puede usar métodos web para implementar el concepto anterior. Puede buscar en Google cómo usar AJAX para conectarse a una base de datos a través de JavaScript.

Agregue un detector de eventos de clic a su botón y haga que incremente una variable previamente declarada establecida en 0. De esta manera:

  let timesTheButtonHasBeenClicked = 0;

 document.getElementById ("botón"). addEventListener ("clic", () => { 
	 timesTheButtonHasBeenClicked ++; 
 })

More Interesting

Cómo crear una lista desplegable de tres temas usando HTML + Css + Java Script

¿Cómo puede un servidor web (http) saber si la solicitud proviene de un navegador o no?

¿Cuál es el mejor flujo de trabajo de Git para un solo individuo que construye una aplicación de rieles de producción? He visto el flujo de GitHub y el flujo de Git. ¿Cuáles son algunas recomendaciones de quienes han estado allí?

¿Alguien ha conseguido un trabajo después de aprender de Tuts + o Treehouse?

¿Alguien usa iPage? ¿Les gusta?

¿Cuál es la mejor manera de almacenar en caché una aplicación web de una sola página para SEO sin ningún desarrollo del lado del servidor?

La gente dice que no es desarrollo web si no uso JS. ¿Por qué usaría JS para algo si puedo hacer lo mismo con CSS3?

¿Cuáles son las cosas importantes que debe tener en cuenta al hacer un diseño web receptivo?

¿Hasta dónde puede llegar un desarrollador web?

¿Por qué Samsung no ofrece planes de pago en su sitio web como Apple?

¿Cuál podría ser el mejor mini proyecto que involucra el diseño web y la base de datos para desarrollar habilidades de desarrollo web y Oracle SQL?

Al crear un tema de WordPress, ¿el desarrollador tiene que codificar para que los widgets estén disponibles, o están automáticamente allí en el tablero para que el usuario los agregue?

¿Cómo obtener dinero de mi familia para mi proyecto web? O debería encontrar otra manera

Cómo llamar a otra página usando ajax en Laravel 5.4

¿Cuál es la diferencia entre un error de caché y un acierto de caché?