2017-05-06 8 views
1

申し訳ありませんが、私はJavaScriptを初めて使いこなしています。私はキーボードショートカットを使用できるようにしたいと思うし、何かを入力するときには無視する必要がある。私のウェブサイトにキーリスナーがあり、何か入力しようとすると私のショートカットが開くのですが、どうすればいいですか?

ありがとうございます!

Javascriptを:

window.onload = function() { 
    var menu = document.getElementById("menu"); 
    var menubtn = document.getElementById("menubtn"); 
    var smclose = document.getElementById("smclose"); 
    var bigclose = document.getElementById("bigclose"); 
    var strips = document.getElementsByClassName("menustrip"); 
    var profile = document.getElementById("profile"); 
    var loginbtn = document.getElementById("loginbtn"); 
    var popup = document.getElementById("popup-box"); 
    var inputs = document.getElementsByTagName("input"); 
    var typing = false; 

    smclose.onclick = function() { 
     menu.style.display = "none"; 
    } 
    bigclose.onclick = function() { 
     popup.style.display = "none"; 
    } 
    menubtn.onclick = function() { 
     menu.style.display = "block"; 
    } 

    loginbtn.onclick = function() { 
     popup.style.display = "block"; 
    } 
    //I tried this but didn't work 
    window.onclick = function(event) { 
     for (var y = 0; y < inputs.length; y++) { 
      if (event.target == popup) { 
       popup.style.display = "none"; 
      } else if (event.target == inputs[y]) { 
       typing = true; 
      } else if (event.target != menu) { 
       menu.style.display = "none"; 
       for (var x = 0; x < strips.length; x++) { 
        if (event.target == menu || event.target == menubtn 
          || event.target == strips[x] 
          || event.target == profile) { 
         menu.style.display = "block"; 
        } 
       } 
      } else { 
       typing = false; 
      } 
     } 
    } 
    //this is handling the shortcuts 
    document.addEventListener('keydown', function(event) { 
     if (typing == false) { 
      if (event.keyCode == 83) { 
       menu.style.display = "block"; 
      } else if (event.keyCode == 76) { 
       popup.style.display = "block"; 
      } else if (event.keyCode == 67) { 
       menu.style.display = "none"; 
       popup.style.display = "none"; 
      } else if (event.keyCode == 82) { 
       window.location.reload(); 
      } 
     } 

    }); 
} 

HTML:

<!-- html page--> 
{% load staticfiles %} 
<!DOCTYPE html> 

<html> 
<head> 
    <!-- In here I set link my css and javascript files to this & give the device width & height --> 
    <link href="{% static 'css/fonts.css' %}" rel="stylesheet" type="text/css"> 
    <link href="https://fonts.googleapis.com/css?family=Pathway+Gothic+One|Space+Mono" rel="stylesheet"> 
    <script type="text/javascript" src="{% static 'js/dascript.js' %}"></script> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height"> 
    <title>{% block title %}{% endblock %}</title> 
</head> 
<body class="container"> 
    <div id="menu" class="container"> 
     <div id="smclose"> 
      <div class="crosssmall left"></div> 
      <div class="crosssmall right"></div> 
     </div> 
     <div id="profile" class="container"> 
      <div class="circle"> 
       <img src="https://previews.123rf.com/images/glebstock/glebstock1405/glebstock140501332/29470355-male-silhouette-Unknown-person-concept-Stock-Photo.jpg" class="circle"/> 
      </div> 
     </div> 
     <div class="container"> 
      <div id="loginbtn" class="menubtns">Login</div> 
      <div id="costumize" class="menubtns">Edit</div> 
      <div id="settings" class="menubtns">Settings</div> 
     </div> 
    </div> 
    <div class="container flexcolumn"> 
     <header class="container"> 
      <nav class="site"> 
       <div class="navibar"><a href="{% url 'polls:home' %}">{% block navitem1 %}{% endblock %}</a></div> 
       <div class="navibar"><a href=#>{% block navitem2 %}{% endblock %}</a></div> 
       <div class="navibar"><a href=#>{% block navitem3 %}{% endblock %}</a></div> 
       <div class="navibar"><a href=#>{% block navitem4 %}{% endblock %}</a></div> 
       <div id="menubtn"> 
         <div class="menustrip"></div> 
         <div class="menustrip"></div> 
         <div class="menustrip"></div> 
       </div> 
      </nav> 
     </header> 
     <div id="whiteblack" class="flexitem"> 
       <p>{% block content %}{% endblock %}</p> 
     </div> 
     <footer class="container"> 
      <div class="container row"> 
       <i id="ione" class="icon">t</i> 
       <i id="itwo" class="icon">a</i> 
       <i id="ithree" class="icon">f</i> 
       <i id="ifour" class="icon">p</i> 
       <i id="ifive" class="icon">e</i> 
       <i id="isix" class="icon">y</i> 
       <i id="iseven" class="icon">z</i> 
      </div> 
     </footer> 
    </div> 
    <div id="popup-box" class="popup"> 
     <div class="popup-content"> 
      <div class="popup-header"> 
       <div id="bigclose"> 
        <div class="crossbig left"></div> 
        <div class="crossbig right"></div> 
       </div> 
       {% block pop-head %}{% endblock %} 
      </div> 
      <div class="popup-body"> 
       {% block pop-body %}{% endblock %} 
      </div> 
      <div class="popup-footer"> 
       {% block pop-footer %}{% endblock %}    
      </div> 
     </div> 
    </div> 
</body> 
</html> 
+2

次のリンクを参照してください、あなたのHTMLを追加あなたがしようとしていることを明確にしてください。 –

+0

@ScottMarcus私はそれを追加しました – xyhlon

+0

そしてあなたがしようとしていることを明確にしてください。 –

答えて

関連する問題