。。这是Jquery 的一个bug 吗?

发布于 2022-09-01 19:35:23 字数 599 浏览 12 评论 0

<!--这是主要代码-->
<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 事件 - -

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

多情癖 2022-09-08 19:35:24
$(document).on('click', ".btn-delete", function (event) {
            alert("^~^ You have click Delete! ");
            event.stopPropagation();
        });

典型的冒泡

独享拥抱 2022-09-08 19:35:24

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

 $(document).on('click', ".btn-delete", function (e) {
            alert("^~^ You have click Delete! ");
            e.stopPropagation();
        });
难理解 2022-09-08 19:35:24

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文