• 218 事件处理 on() 绑定事件


    ​ 因为普通注册事件方法的不足,jQuery又创建了多个新的事件绑定方法bind() / live() / delegate() / on()等,其中最好用的是: on()

    语法


    演示代码

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            div {
                 100px;
                height: 100px;
                background-color: pink;
            }
            
            .current {
                background-color: purple;
            }
        </style>
        <script src="jquery.min.js"></script>
    </head>
    
    <body>
        <div></div>
        <ul>
            <li>我们都是好孩子</li>
            <li>我们都是好孩子</li>
            <li>我们都是好孩子</li>
            <li>我们都是好孩子</li>
            <li>我们都是好孩子</li>
        </ul>
        <ol></ol>
        <script>
            $(function() {
                // 1. 单个事件注册
                // $("div").click(function() {
                //     $(this).css("background", "purple");
                // });
                // $("div").mouseenter(function() {
                //     $(this).css("background", "skyblue");
                // });
    
                // 2. 事件处理on
                // (1) on可以绑定1个或者多个事件处理程序
                // $("div").on({
                //     mouseenter: function() {
                //         $(this).css("background", "skyblue");
                //     },
                //     click: function() {
                //         $(this).css("background", "purple");
                //     },
                //     mouseleave: function() {
                //         $(this).css("background", "blue");
                //     }
                // });
    
    
                $("div").on("mouseenter mouseleave", function() {
                    $(this).toggleClass("current");
                });
    
    
                // (2) on可以实现事件委托(委派)
                // $("ul li").click();
                $("ul").on("click", "li", function() {
                    alert(11);
                });
                // click 是绑定在ul 身上的,但是 触发的对象是 ul 里面的小li
    
    
                // (3) on可以给未来动态创建的元素绑定事件
                // $("ol li").click(function() {
                //     alert(11);
                // })
    
                $("ol").on("click", "li", function() {
                    alert(11);
                })
                var li = $("<li>我是后来创建的</li>");
                $("ol").append(li);
            })
        </script>
    </body>
    
    </html>
    

    1.2.2 案例:发布微博案例

    1.点击发布按钮, 动态创建一个小li,放入文本框的内容和删除按钮, 并且添加到ul 中。
    2.点击的删除按钮,可以删除当前的微博留言。

    ​ 代码实现略。(详情参考源代码)

  • 相关阅读:
    C#RSA的研究,C#、Java互通
    .NetCore接入Log4Net
    asp.net core 5.0 使用log4net
    C# 根据出生年月 计算天数/计算X岁X月X天字符串
    DateTime? 转对象出错的问题
    WPF新的窗口返回值的方式
    C# Post
    数据库跨服务器更新表内容
    sql server 初学乱记
    sql server 2008/k3 cloud 安装踩雷
  • 原文地址:https://www.cnblogs.com/jianjie/p/12207817.html
Copyright © 2020-2023  润新知