不是要采用事件委托吗?为什么不用这样写:$("ul").on('click',‘li',function(e)
不是要采用事件委托吗?为什么不用这样写:$("ul").on('click',‘li',function(e)
不是要采用事件委托吗?为什么不用这样写:$("ul").on('click',‘li',function(e)
2016-07-14
你可以这么想,我们宿舍有6个人,我是其中一个,有人挑衅了我,也相当于有人挑衅了我们宿舍,也就是冒泡的理念,click了我就是click了我们宿舍,这里有没有li都可以实现,当然其实这里面是有区别的(只是这个细节用不到)
1、有li的情况下,可以这么理解,给li添加click事件,然后把事情委托给ul,这个事件是li的,不是ul的,(没有为ul添加click事件)
2、没有 li的情况,可以这么理解,给ul及ul中的所有元素(包括li)添加click事件,(给ul添加了click事件)
实验方法
在没有li的情况:点击li选项,会提示li时的内容,
点击ul(只是ul没有点击到li,也就是点小黑点的前面),会出现ul的内容(包含ul所有的内容)
有li的情况:你执行上面的动作,你会发现第二个动作没有效果,那是因为ul根本就没有click事件
click默认情况下并不冒泡,在这时也没有执行冒泡,只不过你打了就相当于打了我们宿舍也算是冒泡的理念吧,也就是说你单击了ul中的li,难道说你没有单击ul吗?在书上有几个字,书是ul,字是li,你看了字,你难道说你没有看书吗?
举报