zoukankan      html  css  js  c++  java
  • 事件委托

    事件委托就是利用事件冒泡原理,把处理任务委托给父元素或者祖先元素(通常用父元素),我们通过目标对象来判断事件源,并执行事件处理。

    jQuery实现事件委托可以调用on()方法,这样写:

    1
    $(el).on( events [, selector ] [, data ], handler(eventObject) )

    el是父元素,selector是子元素,事件处理函数。

    示例1:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>事件委托</title>
            </script>
        </head>
        <body>
            <div>
                <ul id="ul">
                    <li id="a">鼠标</li>
                    <li id="b">键盘</li>
                    <li id="c">屏幕</li>
                    <li id="d"><a>主机</a></li>
                </ul>
            </div>
            <p id="notes">单击列表项,或光标移到列表项</p>
            <script>
                $('ul').on('click mouseover',':not(#four)',
                        function (e) {
                            listItem = '列表项 ' + e.target.textContent + '<br />';
                            eventType = '事件  ' + e.type;
                            $('#notes').html(listItem +  eventType);
                        });
            </script>
        </body>
    </html>

    示例2:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>事件委托</title>
            </script>
        </head>
        <body>
            <div>
                <ul id="ul">
                    <li id="a">鼠标</li>
                    <li id="b">键盘</li>
                    <li id="c">屏幕</li>
                    <li id="d"><a>主机</a></li>
                </ul>
            </div>
            <p id="notes">单击列表项,或光标移到列表项</p>
            <script>
                $('ul').on('click mouseover', ':not(#four)',
                        {status: 'important'},
                        function (e) {
                            listItem = '列表项 ' + e.target.textContent + '<br />';
                            itemStatus = '状态 ' + e.data.status + '<br />';
                            eventType = '事件  ' + e.type;
                            $('#notes').html(listItem + itemStatus + eventType);
                        });
            </script>
        </body>
    </html>
  • 相关阅读:
    Kotlin扩展深入解析及注意事项和可见性
    Kotlin属性揭秘与延迟初始化特性
    Kotlin伴生对象及其字节码内幕详解
    Kotlin继承与重写重要特性剖析
    Kotlin构造方法详解与初始化过程分析
    Range与面向对象的Kotlin
    Kotlin编译器优化与when关键字详解
    Kotlin基础特性深入讲解
    java读取mysql表的注释及字段注释
    mysql导入导出sql文件
  • 原文地址:https://www.cnblogs.com/max-hou/p/9151722.html
Copyright © 2011-2022 走看看