账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    使用jquey遇到的一个疑问
    24
    0
    <!DOCTYPE html>
    <html lang="zh-cmn-Hans">
    <head>
        <meta charset="UTF-8"/>
        <title>Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1 user-scalable=no"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta name="renderer" content="webkit"/>
    </head>
    <body>
        <div id="container">
            <button id="go">click me</button>
        </div>
        <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
        <script>
            var go = document.getElementById('go');
            var container = document.getElementById('container');
            container.addEventListener('click', function (e) {
                console.log(e.target, this, e.currentTarget);
            })//依次输出 button container container
            $('#container').on('click', 'button', function (e) {
                console.log(e.target, this, e.currentTarget);
                console.log(e.originalEvent.target, this, e.originalEvent.currentTarget);
            })//依次输出 button button button
            //           button button container
            $('#container').on('click', function (e) {
                console.log(e.target, this, e.currentTarget);
                console.log(e.originalEvent.target, this, e.originalEvent.currentTarget);
            })//依次输出 button container container
    //                   button container container
    
        </script>
    </body>
    </html>

    jquery使用on在参数里面添加selector参数可以实现事件代理
    由e.originEvent.currentTarget获取的是container可以知道的确通过事件冒泡代理了事件
    但是为什么在这种情况下e.currentTarget却不等于e.originEvent.currentTarge,如果是故意这样设计,那设计的目的是什么?还是这个是一个BUG?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 零负荷的放任 普通会员 1楼

      请问您具体遇到了什么问题?在使用jQuery时,如果有任何疑问,欢迎随时向我提问。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部