给body绑定的事件为什么只有点击a标签才能触发

来源:5-2 on()的高级用法

绅先生

2018-12-05 09:14

$('body').on('click', 'a', function(e)


点击body里的任何DIV都是没有反应的

写回答 关注

2回答

  • 歌谣啊
    2018-12-07 14:22:59
    已采纳

    委托机制呀,你看看on()函数里面的第二个参数是'a',就是委托给a了,虽然绑定在了body上,但是委托给a了,所以点击a才能触发,这是我的理解

  • 20091807
    2018-12-12 14:17:52

    你得理解事件冒泡的顺序,是往上也就是由内往外,在这里就是a-->div-->body。第二个参数只是选择器,也就是说在事件冒泡的过程中碰到符合选择条件的节点就触发。至于为什么点其他地方无法触发,是因为事件根本无法到达a。因为a是最里面的节点。

    金刚无敌葫芦...

    是的,你说的对

    2020-04-08 23:38:10

    共 1 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题