有个按钮。里面嵌套了一个图标,点击按钮时,我需要得到按钮的data-itemid值,我把事件绑定到button上,用$(event.target).data("itemid")取值,有时值为undefined,经过调试,发现如果点击了i标签就出现这种情况了。查资料得知$(event.target)获取的是事件源,所以点到i上就无法取到btn的值了。这个问题该如何解决?
代码如下:
<button type="button" class="btn btn-danger btn-sm delbtn" data-itemid="2">
<i class="fa fa-fw fa-trash"></i>
</button>
jq:
$(".delbtn").click(function (event) {
console.log(event.target);
console.log($(event.target).data("itemid"));
}
这里,你要清楚event.target和$(this)的区别,event.target响应的是"click"这个事件的元素,不仅仅是绑定“click”的元素,你点击到了i标签,event.target就是i