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

a标签的点击事件

代码中是给input和accident添加了点击事件,但在按钮里却是触发了a标签的点击事件,有点不明白

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


提问者:weibo_happy的小小明_0 2017-04-14 22:44

个回答

  • 啊艾力克斯4396313
    2017-04-15 02:00:01
    已采纳

    1, input添加的是focus事件, #accident添加的是click事件

    2, trigger()会冒泡,  当左边按钮点击后触发$("a").trigger("click")---a点击事件(自定义事件,我们没有点击a,只点击了按钮),a点击后冒泡到拥有click事件的祖先元素, 于是#accident的click事件执行,alert出"trigger触发的事件会在 DOM 树中向上冒泡"这句话,弹框关闭后$("input").trigger("focus")会让input的光标聚集--即focus事件.

    3,triggerHandler()不会冒泡,且不会触发浏览器的默认行为,所以右边按钮点击后1, 不会alert出弹框;2, input不会focus;

    恩,应该是介样~~