javascript - 按下键时显示弹出窗口

标签 javascript jquery html css keyboard-events

我的弹出窗口在右上角有一个“关闭”按钮,一些带有背景图像的文本,底部有一个“打印”按钮。加载页面时会自动显示弹出窗口。如果有人关闭它,除非您重新加载页面,否则无法将其取回。当按下字母“G”或“g”但无济于事时,我一直试图让弹出窗口在关闭后显示出来。我找到了 this我认为可以将其实现到我现有的代码中,但我无法做到这一点。

请注意,我更愿意使用当前 JS 代码中的现有功能,而不是必须下载的插件。我的代码如下:

$(document).ready(function() {
    $(function(){
  
      $('#PopUp').css("visibility", "visible"); 
       $('#PopUp').css("opacity", 1); 
  
       });
  
  $( ".close" ).click(function() {

       $('#PopUp').css("visibility", "hidden"); 
       $('#PopUp').css("opacity", 0);
    });
});

        function printDiv()
        {
            var content = document.getElementById('printableDiv').innerHTML;
            var win = window.open();
            win.document.write(content);
            win.print();	// JavaScript Print Function
            win.close();	//It will close window after Print.
	document.getElementById("pdf1").style.top=117 + "px";  
        }
    .t {
        -webkit-transform-origin: top left;
        -moz-transform-origin: top left;
        -o-transform-origin: top left;
        -ms-transform-origin: top left;
        -webkit-transform: scale(0.25);
        -moz-transform: scale(0.25);
        -o-transform: scale(0.25);
        -ms-transform: scale(0.25);
        z-index: 2;
        position: absolute;
        white-space: pre;
        overflow: visible;
    }

    #t1_1{left:256px;top:35px;letter-spacing:0.1px;}
    #t2_1{left:334px;top:87px;word-spacing:-0.1px;}
    #t3_1{left:210px;top:123px;}
    #t4_1{left:238px;top:123px;word-spacing:-0.3px;}
    #t5_1{left:210px;top:141px;}
    #t6_1{left:210px;top:160px;}
    #t7_1{left:210px;top:179px;}
    #t8_1{left:238px;top:141px;letter-spacing:-0.1px;word-spacing:-0.1px;}
    #t9_1{left:238px;top:160px;word-spacing:-0.1px;}
    #ta_1{left:238px;top:179px;word-spacing:-0.1px;}
    #tb_1{left:343px;top:242px;letter-spacing:-0.1px;}
    #tc_1{left:210px;top:278px;}
    #td_1{left:210px;top:297px;}
    #te_1{left:210px;top:315px;}
    #tf_1{left:210px;top:334px;}
    #tg_1{left:238px;top:278px;word-spacing:-0.1px;}
    #th_1{left:238px;top:297px;word-spacing:-0.1px;}
    #ti_1{left:238px;top:315px;word-spacing:-0.2px;}
    #tj_1{left:238px;top:334px;word-spacing:-0.1px;}
    #tk_1{left:286px;top:393px;word-spacing:-0.1px;}
    #tl_1{left:210px;top:429px;}
    #tm_1{left:210px;top:448px;}
    #tn_1{left:210px;top:466px;}
    #to_1{left:210px;top:485px;}
    #tp_1{left:238px;top:429px;word-spacing:-0.3px;}
    #tq_1{left:238px;top:448px;word-spacing:-0.1px;}
    #tr_1{left:238px;top:466px;word-spacing:-0.1px;}
    #ts_1{left:238px;top:485px;word-spacing:-0.2px;}
    #tt_1{left:326px;top:544px;letter-spacing:-0.1px;}
    #tu_1{left:210px;top:580px;}
    #tv_1{left:210px;top:599px;}
    #tw_1{left:210px;top:618px;}
    #tx_1{left:238px;top:618px;}
    #ty_1{left:210px;top:636px;}
    #tz_1{left:238px;top:636px;}
    #t10_1{left:210px;top:655px;}
    #t11_1{left:238px;top:580px;word-spacing:-0.1px;}
    #t12_1{left:238px;top:599px;word-spacing:-0.2px;}
    #t13_1{left:238px;top:655px;word-spacing:-0.1px;}
    #t14_1{left:264px;top:716px;word-spacing:-0.2px;}
    #t15_1{left:210px;top:752px;}
    #t16_1{left:210px;top:771px;}
    #t17_1{left:210px;top:789px;}
    #t18_1{left:210px;top:808px;}
    #t19_1{left:238px;top:752px;word-spacing:-0.1px;}
    #t1a_1{left:238px;top:771px;word-spacing:-0.1px;}
    #t1b_1{left:238px;top:789px;word-spacing:-0.2px;}
    #t1c_1{left:238px;top:808px;word-spacing:-0.1px;}

    .s1_1{
        FONT-SIZE: 85.4px;
        FONT-FAMILY: Arial;
        color: rgb(0,0,0);
        FONT-WEIGHT: bold;
    }

    .s2_1{
        FONT-SIZE: 61.2px;
        FONT-FAMILY: Arial;
        color: rgb(0,0,0);
        FONT-WEIGHT: bold;
    }

    .s3_1{
        FONT-SIZE: 61.2px;
        FONT-FAMILY: SymbolMT_1z5;
        color: rgb(0,0,0);
    }

    .s4_1{
        FONT-SIZE: 61.2px;
        FONT-FAMILY: Arial;
        color: rgb(0,0,0);
    }

    div {
      padding-top: 10px;
    }

      .button {
        font-size: 1em;
        padding: 10px;
        color: #fff;
        border: 2px solid orange;
        border-radius: 20px/50px;
        text-decoration: none;
        cursor: pointer;
        transition: all 0.3s ease-out;
      }
      .button:hover {
        background: orange;
      }
      .overlay {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0.7);
        transition: opacity 500ms;
        visibility: visible;
        opacity: 1;
        height: 578%;
        width: 117.5%;
      }
      .overlay:target {
        visibility: hidden;
        opacity: 0;
        display:none;
      }
      .PopUp {
        margin: 50px auto;
        padding: 0px;
        background: #fff;
        border-radius: 5px;
        width: 60%;
        position: relative;
        transition: all 5s ease-in-out;
      }
      .PopUp .close {
        position: absolute;
        top: 20px;
        right: 30px;
        transition: all 200ms;
        font-size: 30px;
        font-weight: bold;
        text-decoration: none;
        color: #333;
      }
      .PopUp .close:hover {
        color: orange;
      }
      .PopUp .content {
        max-height: 117.5%;
        overflow: auto;
      }

.pdf1 {
width: 935px;
height: 1210px;
background-color: white;
-moz-transform: scale(1);
z-index: 0;
border: none;
  }
    <div id="PopUp" class="overlay">
        <div class="PopUp">
            <a class="close" href="#">&#10005;</a>
            <div class="content">
                <div class="printableDiv" id="printableDiv"></div>
<div id="p1" class=p1" style="overflow: hidden; position: relative; width: 885px; height: 878px;">

   <!-- Begin page background -->
<div id="pg1Overlay" style="width:100%; height:100%; position:absolute; z-index:1; background-color:rgba(0,0,0,0); -webkit-user-select: none;"></div>
<div id="pg1" class="pg1" style="-webkit-user-select: none;"><img src="http://i.imgur.com/vcY42CW.png" id="pdf1" class="pdf1"></img></div>
   <!-- End page background -->


<!-- Begin text definitions (Positioned/styled in CSS) -->
<div id="t1_1" class="t s1_1">Player Selection Criteria Evaluator Cue Card</div>
<div id="t2_1" class="t s2_1">Skating – speed, quickness, technique</div>
<div id="t3_1" class="t s3_1">♦</div>
<div id="t4_1" class="t s4_1">Forward and Backward</div>
<div id="t5_1" class="t s3_1">♦</div>
<div id="t6_1" class="t s3_1">♦</div>
<div id="t7_1" class="t s3_1">♦</div>
<div id="t8_1" class="t s4_1">Turn both directions</div>
<div id="t9_1" class="t s4_1">Stop both directions</div>
<div id="ta_1" class="t s4_1">Are they in a good position for stability and strength</div>
<div id="tb_1" class="t s2_1">Passing – technique, control, vision</div>
<div id="tc_1" class="t s3_1">♦</div>
<div id="td_1" class="t s3_1">♦</div>
<div id="te_1" class="t s3_1">♦</div>
<div id="tf_1" class="t s3_1">♦</div>
<div id="tg_1" class="t s4_1">Forehand and Backhand</div>
<div id="th_1" class="t s4_1">To moving and stationary target</div>
<div id="ti_1" class="t s4_1">Vision – do they take a look and select best option</div>
<div id="tj_1" class="t s4_1">Advanced – board passes, chips, saucer passes</div>
<div id="tk_1" class="t s2_1">Puck Control – technique, open ice, confined space</div>
<div id="tl_1" class="t s3_1">♦</div>
<div id="tm_1" class="t s3_1">♦</div>
<div id="tn_1" class="t s3_1">♦</div>
<div id="to_1" class="t s3_1">♦</div>
<div id="tp_1" class="t s4_1">Open carry with speed</div>
<div id="tq_1" class="t s4_1">Execute dekes and fakes on the 1 on 1</div>
<div id="tr_1" class="t s4_1">Can they handle the puck in traffic and tight space</div>
<div id="ts_1" class="t s4_1">Ability to maintain control while being stick checked</div>
<div id="tt_1" class="t s2_1">Shooting – technique, accuracy, velocity</div>
<div id="tu_1" class="t s3_1">♦</div>
<div id="tv_1" class="t s3_1">♦</div>
<div id="tw_1" class="t s3_1">♦</div>
<div id="tx_1" class="t s4_1">Velocity</div>
<div id="ty_1" class="t s3_1">♦</div>
<div id="tz_1" class="t s4_1">Accuracy</div>
<div id="t10_1" class="t s3_1">♦</div>
<div id="t11_1" class="t s4_1">Forehand and backhand</div>
<div id="t12_1" class="t s4_1">Wrist shot, snap shot, slap shot</div>
<div id="t13_1" class="t s4_1">Shot Selection – do they select the best shot for the opportunity?</div>
<div id="t14_1" class="t s2_1">Game Understanding – Principles of Offence and Defence</div>
<div id="t15_1" class="t s3_1">♦</div>
<div id="t16_1" class="t s3_1">♦</div>
<div id="t17_1" class="t s3_1">♦</div>
<div id="t18_1" class="t s3_1">♦</div>
<div id="t19_1" class="t s4_1">Player understands positional play</div>
<div id="t1a_1" class="t s4_1">Player supports the puck on the defensive and offensive side of puck</div>
<div id="t1b_1" class="t s4_1">Player communicates with teammates</div>
<div id="t1c_1" class="t s4_1">Player has the ability to read and react.</div>
</div>
</div>
<input type="button" onclick="printDiv()" value="Print">
		</div>
	</div>
</div>

最佳答案

您可以在文档主体(或您喜欢的其他目标)上设置一个 keyup 事件来显示弹出。

$(document.body).keyup(function(e){
  var key=e.which||e.keyCode;
  if(key==71){
    $("#PopUp").css({opacity:"1",visibility:"visible"})
  };

click here for demo

关于javascript - 按下键时显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574021/

相关文章:

javascript - 为什么这个 Angular ng-bind 不绑定(bind)到 ng-controller 上?

javascript - 从我的 JSON 文件创建标记

javascript - 删除在 Google map 上呈现的路线

c# - 多文件问题

javascript - 更改 SharePoint 2013 中的创建日期

javascript - 以编程方式使 input[type=url] 的数据列表出现在 JavaScript 中

html - bootstrap nav-collapse 折叠时不会显示图标

javascript - 在 Windows 8 Javascript 中关闭相机的正确方法是什么?

javascript - 即使没有JQuery,JavaScript中的美元符号是否也定义?

javascript - 图像预加载器如何工作?