Home  >  Q&A  >  body text

javascript - 。。这是Jquery 的一个bug 吗?

<!--这是主要代码-->
<a class="my-item">
    <span> Click me A </span>

    <button type="button" class="btn-delete"> Delete !!
    </button>
</a>


<script>
    $(document).ready(function () {

        $(document).on('click', ".my-item", function () {
            alert("Hello A! ");
        });

        $(document).on('click', ".btn-delete", function () {
            alert("^~^ You have click Delete! ");
        });

    });
</script>

<!-- End 主要代码-->

点击 删除的 时候 , 还会触发另一个 a 的 click 事件 - -

PHP中文网PHP中文网2749 days ago334

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 16:06:53

    $(document).on('click', ".btn-delete", function (event) {
                alert("^~^ You have click Delete! ");
                event.stopPropagation();
            });

    典型的冒泡

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 16:06:53

    这是事件冒泡啊,
    你的二个事件没有阻止冒泡,所以触发了第一个事件

     $(document).on('click', ".btn-delete", function (e) {
                alert("^~^ You have click Delete! ");
                e.stopPropagation();
            });

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 16:06:53

    这是事件冒泡,父级如果和子级绑有相同事件(如题主的click事件),则在触发子集事件的时候同时会触发父级相同事件,所以要阻止冒泡e.stopPropagation();

    reply
    0
  • Cancelreply