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>
  • 相关阅读:
    线程安全(1)--demo1
    java--构造器与static
    I/O---读取txt文件----demo
    阳光餐厅--oracle---建表---danrong
    定位程序问题出现的原因工具-jstack
    守护线程
    线程的交互:互斥与同步
    正确的停止java中的线程
    使用GSON来生成JSON数据
    使用JSONObject类来生成json格式的数据
  • 原文地址:https://www.cnblogs.com/max-hou/p/9151722.html
Copyright © 2011-2022 走看看