有个按钮。里面嵌套了一个图标,点击按钮时,我需要得到按钮的data-itemid值,我把事件绑定到button上,用$(event.target).data("itemid")取值,有时值为undefined,经过调试,发现如果点击了i标签就出现这种情况了。查资料得知$(event.target)获取的是事件源,所以点到i上就无法取到btn的值了。这个问题该如何解决?
代码如下:
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
个人习惯,经供参考:
用
$(event.currentTarget).data("itemid")
试试看吧