• Day 56 jquery


    一 、事件委托实例

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>事件委托示例</title>
    </head>
    <body>
    
    <input type="button" value="添加新数据" id="add">
    <table border="1">
        <thead>
        <tr>
            <th>#</th>
            <th>姓名</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>1</td>
            <td>金老板</td>
            <td><input type="button" value="删除" class="delete"></td>
        </tr>
        <tr>
            <td>2</td>
            <td>景女神</td>
            <td><input type="button" value="删除" class="delete"></td>
        </tr>
        <tr>
            <td>3</td>
            <td>隔壁老王</td>
            <td><input type="button" value="删除" class="delete"></td>
        </tr>
        </tbody>
    </table>
    
    
    <script src="jquery-3.3.1.js"></script>
    
    <script>
        // 点击添加按钮添加一条新数据
        // 1. 找到按钮绑定点击事件
        $("#add").on("click", function () {
            // 当添加按钮被点击之后要做的事儿
            // 1. 创建一个新的tr
            var trEle = document.createElement("tr");
            trEle.innerHTML = '<td>4</td> <td>哪吒</td> <td><input type="button" value="删除" class="delete"></td>';
            // 2. 把创建好的tr追加到tbody里面
            $("tbody").append(trEle);
        });
    
        // 点击每一行的删除按钮,把当前行删除掉
        // 1. 找到每一行的删除按钮,绑定点击事件
        $("table").on("click", "input.delete", function () {
            // 给table标签绑定事件,监听我子子孙孙里面有delete样式类的标签如果被点击了,我就做下面的事儿
            // 当每一行的删除按钮被点击后要做的事儿
            // 1. 删除当前被点击的按钮的这一行
            console.log(this);
            $(this).parent().parent().remove();
        })
    </script>
    </body>
    </html>

     二 、hover事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="x-ua-compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>hover示例</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
        .nav {
          height: 40px;
           100%;
          background-color: #3d3d3d;
          position: fixed;
          top: 0;
        }
    
        .nav ul {
          list-style-type: none;
          line-height: 40px;
        }
    
        .nav li {
          float: left;
          padding: 0 10px;
          color: #999999;
          position: relative;
        }
        .nav li:hover {
          background-color: #0f0f0f;
          color: white;
        }
    
        .clearfix:after {
          content: "";
          display: block;
          clear: both;
        }
    
        .son {
          position: absolute;
          top: 40px;
          left: 0;
          height: 50px;
           100px;
          background-color: #00a9ff;
          display: none;
        }
    
        .hover .son {
          display: block;
        }
      </style>
    </head>
    <body>
    <div class="nav">
      <ul class="clearfix">
        <li>登录</li>
        <li>注册</li>
        <li class="hover">购物车
          <p class="son">
            空空如也...
          </p>
        </li>
      </ul>
    </div>
    
    <script src="jquery-3.3.1.js"></script>
    <script>
    
    $(".nav li").hover(
      function () {
          // 鼠标移上去
        $(this).addClass("hover");
      },
        // 鼠标移走
      function () {
        $(this).removeClass("hover");
      }
    )
    </script>
    </body>
    </html>
    

      

    三、keydown和keyup事件组合示例:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title> 按住shift批量操作</title>
    </head>
    <body>
    
    <table border="1">
      <thead>
      <tr>
        <th>#</th>
        <th>姓名</th>
        <th>操作</th>
      </tr>
      </thead>
      <tbody>
      <tr>
        <td><input type="checkbox"></td>
        <td>Egon</td>
        <td>
          <select>
            <option value="1">上线</option>
            <option value="2">下线</option>
            <option value="3">停职</option>
          </select>
        </td>
      </tr>
      <tr>
        <td><input type="checkbox"></td>
        <td>Alex</td>
        <td>
          <select>
            <option value="1">上线</option>
            <option value="2">下线</option>
            <option value="3">停职</option>
          </select>
        </td>
      </tr>
      <tr>
        <td><input type="checkbox"></td>
        <td>Yuan</td>
        <td>
          <select> 
            <option value="1">上线</option>
            <option value="2">下线</option>
            <option value="3">停职</option>
          </select>
        </td>
      </tr>
      <tr>
        <td><input type="checkbox"></td>
        <td>EvaJ</td>
        <td>
          <select>
            <option value="1">上线</option>
            <option value="2">下线</option>
            <option value="3">停职</option>
          </select>
        </td>
      </tr>
      <tr>
        <td><input type="checkbox"></td>
        <td>Gold</td>
        <td>
          <select>
            <option value="1">上线</option>
            <option value="2">下线</option>
            <option value="3">停职</option>
          </select>
        </td>
      </tr>
      </tbody>
    </table>
    
    <script src="jquery-3.3.1.js"></script>
    <script>
        // 定义一个全局的变量,保存shift有没有被按下的状态
        var flag = false;
    
        // 给window绑定按键被按下的事件
        $(window).on("keydown", function (e) {
            console.log(e.keyCode);
            if (e.keyCode === 16){
                // 表示shift被按下!!!
                flag = true;
            }
        });
    
        // 给window绑定按键被抬起的事件
        $(window).on("keyup", function (e) {
            if (e.keyCode === 16){
                // 表示shift被按下!!!
                flag = false;
            }
        });
    
        // select标签的值发生变化之后,触发事件
        $("select").on("change", function () {
            // 1. 判断shift有没有被按下
            // 2. 判断当前行有没有被选中
            var isChecked = $(this).parent().parent().find(":checkbox").prop("checked");
            if (flag && isChecked) {
                // 按下就进入批量编辑模式
                // 1. 取到select变化之后的值
                var value = $(this).val();
                // 2. 找到所有的选中的checkbox,把对应的select设置成上面能取到的值
                $("input:checked").parent().parent().find("select").val(value);
            }
            // 没有被按下,啥都不做
        })
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    第四次作业
    团队编程第三次博客
    团队编程2
    团队编程
    ARM寄存器总结:
    proc介绍及问题分析
    Ubuntu连接手机步骤
    Bluetooth(android 4.2.2版本)
    Android Bluetooth 总结
    android代码常识
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/8921346.html
Copyright © 2020-2023  润新知