我有以下HTML代码
<div id="id0_0" class="clearfix" style="margin-left:40px">
<div id="id0_1" class="choice">
<span id="spanradio_1" class="radio"> </span>
<span id="spanlabel_1" class="label"><label id="label_1">Indoor</label></span>
</div>
<div id="id0_2" class="choice">
<span id="spanradio_2" class="radio"> </span>
<span id="spanlabel_2" class="label"><label id="label_2">Outdoor</label></span>
</div>
</div>
使用以下jQuery:
jQuery('.choice').click( function(e) {
alert('clicked!! ' + e.target.id);
var src_ele = $(e.target);
e.stopPropagation();
return false;
});
然而,我的点击是在spanradio的&amp;标签而不是div。是什么原因引起了这个?
谢谢!
答案 0 :(得分:1)
e.target
是用户实际点击的元素。
如果用户点击嵌套元素,则e.target
将成为该元素。
答案 1 :(得分:1)
基本上:
this
是您绑定事件的元素(即您在其中调用.on
的集合中的一个元素)e.target
是您点击的最深层元素所以你想要this.id
。
答案 2 :(得分:0)
因为标签是“.choice”元素中的唯一内容,因此位于TOP - &gt;它实际上就是元素,你点击了......
如果这是适合您的,请查看event.relatedTarget
。