Para la escuela necesitamos hacer un juego de memoria. Estamos en el punto en que tenemos las cartas y puedes ordenarlas. Pero ahora debemos verificar si se hace clic en 2 elementos y luego ejecutar una acción. Todos los div tienen un Id único y una misma clase. Sé que puedes hacerlo para un elemento con .click, pero me preguntaba si puedes hacer algo así para 2 elementos.

Gracias de antemano.

0
Casper van Sligtenhorst 10 may. 2016 a las 13:50

4 respuestas

La mejor respuesta

Si, cada vez que se hace clic en una tarjeta, usted indica que se ha hecho clic en , y luego cuenta el número de tarjetas que tienen ese indicador, puede determinar si ejecutará o no la lógica adicional. Suponiendo que sus tarjetas tengan una "tarjeta" de clase para indicar que los elementos son tarjetas, el código se vería así:

$('.card').click(function(e) {
    $(this).addClass('clicked'); // indicate that this card has been clicked
    // any other logic run every time a card is clicked, such as turning it face up
    if($('.card.clicked').length === 2) { // query all .card.clicked elements, and compare the length (number of matched elements) to 2
        // run logic if two cards have been clicked
        $('.card.clicked').removeClass('clicked'); // clear the "clicked" indicators
    }
});
1
Anthony Grist 10 may. 2016 a las 10:55
    <!DOCTYPE html>
<html>
<body>

<p ondblclick="myFunction()">Double-click this paragraph to trigger a function.</p>

<p id="demo"></p>

<script>
function myFunction() {
    document.getElementById("demo").innerHTML = "Hello World";
}
</script>

</body>
</html>
-1
Arpit Pathak 10 may. 2016 a las 11:13

Puede vincular el evento de clic utilizando la misma clase y contar el evento de clic y almacenarlo en una variable.

Prueba esto

var clickCount=0;
$('.class-name') .click(function(){
  clickCount++;
  if(clickCount==2){
     // Execute your action here
  }
});
0
Jitendra Tiwari 10 may. 2016 a las 10:55
var clicked = false;

function clickatag(){
  if(clicked) return;
  clicked = true;

  // all of your code //

  clicked = false;
}
0
Mir 10 may. 2016 a las 11:01