为了账号安全,请及时绑定邮箱和手机立即绑定

event.target属性问题

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

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

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

        })


正在回答

5 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

素水凌心

$(e.target)是jQuery对象,e.target是DOM对象,比如$(e.target)可以通过$(e.target).html()获取元素内容,e.target可以通过e.target.innerHTML获取元素内容
2016-08-24 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

event.target属性问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信