zoukankan      html  css  js  c++  java
  • 常用的键盘事件

    1 键盘事件

        <script>
           // 常用的键盘事件
           //1. keyup 按键弹起的时候触发
           document.addEventListener('keyup', function() {
               console.log('我弹起了');
          })

           //3. keypress 按键按下的时候触发 不能识别功能键 比如 ctrl shift 左右箭头啊
           document.addEventListener('keypress', function() {
                   console.log('我按下了press');
          })
           //2. keydown 按键按下的时候触发 能识别功能键 比如 ctrl shift 左右箭头啊
           document.addEventListener('keydown', function() {
                   console.log('我按下了down');
          })
           // 4. 三个事件的执行顺序 keydown -- keypress -- keyup
       </script>

    2 键盘事件对象

    使用keyCode属性判断用户按下哪个键

        <script>
           // 键盘事件对象中的keyCode属性可以得到相应键的ASCII码值
           document.addEventListener('keyup', function(e) {
               console.log('up:' + e.keyCode);
               // 我们可以利用keycode返回的ASCII码值来判断用户按下了那个键
               if (e.keyCode === 65) {
                   alert('您按下的a键');
              } else {
                   alert('您没有按下a键')
              }
          })
           document.addEventListener('keypress', function(e) {
               // console.log(e);
               console.log('press:' + e.keyCode);
          })
       </script>

    3 案例:模拟京东按键输入内容

    当我们按下 s 键, 光标就定位到搜索框(文本框获得焦点)。

    注意:触发获得焦点事件,可以使用 元素对象.focus()

        <input type="text">
       <script>
           // 获取输入框
           var search = document.querySelector('input');
    // 给document注册keyup事件
           document.addEventListener('keyup', function(e) {
               // 判断keyCode的值
               if (e.keyCode === 83) {
                   // 触发输入框的获得焦点事件
                   search.focus();
              }
          })
       </script>

    4 案例:模拟京东快递单号查询

    要求:当我们在文本框中输入内容时,文本框上面自动显示大字号的内容。

        <div class="search">
           <div class="con">123</div>
           <input type="text" placeholder="请输入您的快递单号" class="jd">
       </div>
       <script>
           // 获取要操作的元素
           var con = document.querySelector('.con');
           var jd_input = document.querySelector('.jd');
    // 给输入框注册keyup事件
           jd_input.addEventListener('keyup', function() {
    // 判断输入框内容是否为空
                   if (this.value == '') {
                       // 为空,隐藏放大提示盒子
                       con.style.display = 'none';
                  } else {
                       // 不为空,显示放大提示盒子,设置盒子的内容
                       con.style.display = 'block';
                       con.innerText = this.value;
                  }
              })
           // 给输入框注册失去焦点事件,隐藏放大提示盒子
           jd_input.addEventListener('blur', function() {
                   con.style.display = 'none';
              })
           // 给输入框注册获得焦点事件
           jd_input.addEventListener('focus', function() {
               // 判断输入框内容是否为空
               if (this.value !== '') {
                   // 不为空则显示提示盒子
                   con.style.display = 'block';
              }
          })
       </script>

     

  • 相关阅读:
    使用rails Devise
    (转)两年服务器开发的一句话经验集
    新版本,新起点。
    学习《锋利的jQuery》1
    Watir 使用
    一些Web Front的收集
    PHP日期时间函数的高级应用技巧
    如何防止动态加载JavaScript引起的内存泄漏问题
    JavaScript常用函数库详解
    JavaScript加密解密
  • 原文地址:https://www.cnblogs.com/llanq123/p/13768895.html
Copyright © 2011-2022 走看看