target属性返回触发事件的目标节点,此处返回触发对象的节点。因此3个li元素各自触发。照这个道理,当我点击li元素外,ul元素内的时候,也应该触发事件使ul背景变化才对,但是为什么ul没反应呢?
$("ul").on('click',function(e){
$(e.target).css('backgroundColor','red')
})
我测试了下,可以的。你没点对位置,应给是li那几个点的左边区域。
关于你的问题我的理解是点击当我点击li元素外,ul元素内的时候整个ul的背景颜色改变?这样的话不是ul样式的问题,可能你没点对地方,应该点击的是li列表之前的那部分区域,这样就可以看到效果了
你的是正解,我也试了下,确实如此,那$(e.target) 和 e.target 有啥区别么??
尝试多次后发现原因是因为我的ul未设置样式宽度和高度,设置样式宽度和高度后,ul的背景也发生了变化。
$,你明白是什么意思?英文单词select的意思.手写字母.$.的后面是click事件.以点击为target的. 意思是寻找ul.点击ul内li的产生的事件.