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>
  • 相关阅读:
    void型指针转换。
    MSSQL数据库中记录生日与输入的年龄,进行比对
    [转][C#]内置的 DateTime 用法
    Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
    点击Repeater中的按钮,获取Repeater中TextBox中的值
    [转]UrlReWriter 使用经验小结收藏
    C#中实现VB.net中ReDim功能
    在存储过程中循环表中的记录集
    ADO.net取存储过程的返回值以及存储过程中Return和OUTPUT的区别
    部分FCKeditor常用JS函数
  • 原文地址:https://www.cnblogs.com/max-hou/p/9151722.html
Copyright © 2011-2022 走看看