问答详情
源自:5-2 on()的高级用法

把body改成.arron或者a就不行了,这是为啥呢?

$(".arron").on("click","a",function(e){ alert(e.target.textContent) })这样为何就不行了? 如果提供了第二参数,那么事件在往上冒泡的过程中遇到了选择器匹配的元素,将会触发事件回调函数,这应该可以的啊

提问者:不完美 2016-10-25 21:33

个回答

  • 慕粉4243044
    2016-10-25 21:42:10
    已采纳

    把body改成.arron是可以的

  • qq_迸发激情_0
    2017-12-05 22:11:40

    外面的必须是里面选择器的父元素!!!

  • 慕粉3819970
    2016-11-04 14:43:49

    .aaron 写错了

  • 慕妹7508549
    2016-10-27 10:19:01

    <!DOCTYPE html>

    <html>


    <head>

        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

        <title></title>

        <style>

        .left div,

        .right div {

            width: 500px;

            height: 50px;

            padding: 5px;

            margin: 5px;

            float: left;

            border: 1px solid #ccc;

        }

        

        .left div {

            background: #bbffaa;

        }

        

        .right div {

            background: yellow;

        }

        </style>

        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>

    </head>


    <body>

        <h2>on事件委托</h2>

        <div class="left">

            <div class="aaron">

                <a>点击这里</a>

            </div>

        </div>

        <script type="text/javascript">

        //给body绑定一个click事件

        //没有直接a元素绑定点击事件

        //通过委托机制,点击a元素的时候,事件触发

        $('.aaron').on('click', 'a', function(e) {

           alert(e.target.textContent)

        })

        </script>

    </body>


    </html>


  • 慕妹7508549
    2016-10-27 10:18:22

    可以的,你是不是哪弄错了,你再试一次

        $('.aaron').on('click', 'a', function(e) {

           alert(e.target.textContent)

        })


  • 地球一书生
    2016-10-25 21:49:16

    keyiya