jQuery 请我这个我想让 灰色 到 绿色 这个范围有事件,结果和预想不一样,怎么回事?

我预想的是让 灰色-绿色 这个范围有事件,

怎么弄出来后,实际情况是 绿色-蓝色 有事件?

https://img3.mukewang.com/5b9f69ae000153a202630281.jpg

    <div class="gray" id="gray">
        <div class="red jz" id="red">
            <div class="green jz" id="green">
                <div class="yellow jz" id="yellow">
                    <div class="blue jz" id="blue">
                    
                    </div>
                </div>
            </div>
        </div>
    </div>

我的理解是,语法是这样
    $("冒泡父起始选择器").on("事件","冒泡子结尾选择器",'Function参数',FunctionName);

我是这样写的:
    $("#gray").on("click","#green",'我是事件啊,次数是',info);    

        var a = 0;        function info(e)        {
            a = a + 1;
            str = e.data + ':' + a ;
            $("span").text(str);
        }


一只甜甜圈
浏览 561回答 1
1回答

神不在的星期二

你的写法会对&nbsp;#green&nbsp;和它内部的元素触发事件,应该这么写$(()&nbsp;=>&nbsp;{ &nbsp;&nbsp;$green&nbsp;=&nbsp;$("#green"); &nbsp;&nbsp;$("#gray").on("click",&nbsp;(e)&nbsp;=>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$t&nbsp;=&nbsp;$(e.target);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$t.is($green)&nbsp;&&&nbsp;$t.closest($("#green")).length)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log("hello",&nbsp;e.target); &nbsp;&nbsp;}); });来 jsfiddle 上看示例https://jsfiddle.net/gus1zaj7/3/稍稍改了一下,改成点击之后弹框。如果要阻止里面的事件冒泡,可以把&nbsp;return&nbsp;改成&nbsp;return false,或者加个&nbsp;e.stopPropagation();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript