问答详情
源自:7-2 jQuery自定义事件之triggerHandler事件

关于trigger停止冒泡

 $("button:first").click(function(e) {
        $("a").trigger("click");
        $("input").trigger("focus");
    });

如果用false和.stopPropagation()的方法停止冒泡应该怎么写?

提问者:慕少6141436 2017-08-31 11:05

个回答

  • qq_离殇莹火虫_0
    2017-09-04 19:04:44
    已采纳

    上面写的这个停止冒泡是第一个button的,要是没加 e.stopPropagation(),你按第一个button是会触发事件的。

    比如:

    $("button:first").click(function(e) {

            $("a").trigger("click");

             e.stopPropagation();//阻止事件冒泡,按第一个按钮input标签不能聚焦

            $("input").trigger("focus");

        });

    我是针对你的问题来回答的,

    你直接点击a标签或input标签的话,没有调用到$("button:first").click(function(e){});


  • qq_离殇莹火虫_0
    2017-09-01 11:16:37

    //停止冒泡

    $("button:first").click(function(e) {

            e.stopPropagation();//阻止事件冒泡,则下面两个trigger不能冒泡

            $("a").trigger("click");

            $("input").trigger("focus");

        });