问答详情
源自:6-1 jQuery事件对象的作用

event.target属性问题

target属性返回触发事件的目标节点,此处返回触发对象的节点。因此3个li元素各自触发。照这个道理,当我点击li元素外,ul元素内的时候,也应该触发事件使ul背景变化才对,但是为什么ul没反应呢?

 $("ul").on('click',function(e){

           $(e.target).css('backgroundColor','red')

        })


提问者:喝牛奶对身体好 2016-08-10 11:13

个回答

  • 慕粉wz
    2016-11-24 16:05:00

    我测试了下,可以的。你没点对位置,应给是li那几个点的左边区域。

  • 慕码人2863258
    2016-09-20 18:38:23

    关于你的问题我的理解是点击当我点击li元素外,ul元素内的时候整个ul的背景颜色改变?这样的话不是ul样式的问题,可能你没点对地方,应该点击的是li列表之前的那部分区域,这样就可以看到效果了

  • 慕仔6670283
    2016-08-18 21:48:41

    你的是正解,我也试了下,确实如此,那$(e.target) 和 e.target 有啥区别么??

  • 喝牛奶对身体好
    2016-08-10 12:19:15

    尝试多次后发现原因是因为我的ul未设置样式宽度和高度,设置样式宽度和高度后,ul的背景也发生了变化。

  • 慕粉3780622
    2016-08-10 12:00:11

    $,你明白是什么意思?英文单词select的意思.手写字母.$.的后面是click事件.以点击为target的. 意思是寻找ul.点击ul内li的产生的事件.