2017-09-22 3 views
0

J'ai fait un code simple qui devrait changer la visibilité de la boîte pendant que l'on appuie sur une touche, mais quelque chose ne va pas parce que le bouton pressé indique toujours que c'est faux.L'événement Keydown ne déclenche pas une fonction

Cela devrait fonctionner que lorsque « f » touche, en ce moment, il ne fonctionne pas du tout ...

const brick = document.querySelector('.brick'); 

window.addEventListener('keydown',function(e) 
{ 
    e.preventDefault(); 

    if(e.keycode == 70) 
    { 
     let x = event.keyCode; 
     console.log(x); 
     brick.style.visibility = "visible";  
    } else { 
     let x = e.keyCode; 
     console.log(x); 
     console.log("You've pressed wrong button") 
     brick.style.visibility ="hidden"; 
    } 

}); 

Code is Here

Je sais que je peux utiliser jquery mais je voudrais de le faire dans JS pur

Salue

Répondre

1

erreur de syntaxe légère:

if(e.keycode == 70) 

devrait être:

if(e.keyCode == 70) 

Avis de la capitale C.

+0

Oui, je vais poster aussi. Aussi je me demandais comment il a défini 'let x = e.keyCode;' et n'a pas remarqué la différence de camelcase? Parce qu'à la fin le journal de la console fonctionnait :) –

+0

En effet @DincaAdrian, je pense que OP peut-être été fatigué à l'époque! – Stuart

+0

Merci beaucoup les gars! tout fonctionne comme un charme: D – Matthew

0

Cela peut utile. Après exécuter le code appuyez sur la touche « F » sur le clavier pour voir le div rouge

const brick = document.querySelector('.brick'); 
 
window.addEventListener('keydown',function(e) 
 
{ 
 
     e.preventDefault(); 
 
     let x = e.keyCode;   
 
     if(x == 70) 
 
     { 
 
      
 
      //console.log(x); 
 
      brick.style.visibility = "visible";      
 
        
 
     }    
 
     else 
 
     {   
 
      //console.log(x); 
 
      //console.log("You've pressed wrong button") 
 
      brick.style.visibility ="hidden"; 
 
     } 
 
      
 
    });
.brick 
 
    { 
 
     width:100px; 
 
     height:100px; 
 
     visibility: hidden; 
 
     background-color: red; 
 
     display:block; 
 
    }
<div class="brick" > 
 
     
 
</div>