Cómo emitir un mensaje cuando se han presionado 2 botones consecutivamente

Hola, soy nuevo en javascript y estoy jugando con él. ¿Cómo puedo (si es posible) mostrar una salida cuando se han presionado 2 botones uno tras otro?

Ejemplo: haga clic en el botón 1, haga clic en el botón 2, el mensaje muestra "se ha hecho clic en el botón 1 y 2"

preguntado el 04 de julio de 12 a las 07:07

Haz una variable, es decir clicked y agregue 1 cuando haga clic en cualquiera de los botones. Al hacer clic en comprobar si clicked is 2 si es así, muestra el mensaje y reinicia a 0. -

3 Respuestas

usar un && operador en un if .

JavaScript:

var button1 = false;
var button2 = false;
var b1_id = document.getElementById('button1');
var b2_id = document.getElementById('button2');
b1_id.addEventListener('click',click1,false);
function click1() {
    alert("Button1 clicked");
    button1 = true;
    check();
}
b2_id.addEventListener('click',click2,false);
function click2() {
    alert("Button2 clicked");
    if (button1 !== false) button2 = true; //this is to make sure they are clicked consecutivley
    check();
}
function check() {
    if (button1 === true && button2 === true) {
        alert("Button1 and Button2 clicked consecutively");
    }
}

HTML:

<input type='button' id='button1' value='button1' />
<input type='button' id='button2' value='button2' />

jsviolín

Respondido 04 Jul 12, 08:07

hola somekid gracias por la ayuda esto es lo que estaba buscando. una cosa aunque ¿Cómo restablecería toda la situación después de presionar el botón Aceptar en el mensaje? en el momento en que presiona los dos botones y aparece el mensaje, solo necesita presionar un botón para obtener el mensaje nuevamente. Gracias david- user1500702

add button1 = false; button2 = false en la if bloque de la check función. Actualicé jsFiddle. - Poliov

<p id="status"></p>
<button id="btn1" onclick="clickfun(this);">button 1</button>
<button id="btn2" onclick="clickfun(this);">button 2</button>


<script>
clickfun(elm){
var currenthtml = document.getElementById('status').innerHTML;
document.getElementById('status').innerHTML = currenthtml += this.id+' clicked !';

}
</script>

Respondido 04 Jul 12, 07:07

De hecho, acabo de escribir una biblioteca dedicada al objeto del ratón. Una cosa que hace es rastrear qué botones se presionan y sigue la especificación DOM3 principalmente.

https://github.com/Benvie/Mouse

Reducido al mínimo, debe rastrear continuamente la musa hasta ahora si el navegador no proporciona la propiedad "botones", que solo Firefox 15 hace hasta ahora. Especialmente, presiona el mouse para comenzar, luego haz clic y el menú contextual para finalizar.

Los bits clave para los botones de seguimiento son

var buttons = 0;

function down(e){ buttons |= 1 << e.button; }
function up(e){ buttons &= ~(1 << e.button); }

window.addEventListener('click', up);
window.addEventListener('contextmenu', up);
window.addEventListener('mousedown', down);

Respondido 04 Jul 12, 08:07

Oh, malinterpreté la pregunta sobre los botones del mouse, izquierdo y derecho. Ups. - usuario748221

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.