我有一个包含两个<li onClick={x}>的<span>,当我点击并尝试获取事件目标时,我将根据我单击的位置获得li或span元素,我只想得到li元素,无论我在哪里单击。
<li value={1} onClick={this.handleClick}>
<span> Ones </span>
<span> Adds 1 point per One </span>
</li>
handleClick(e) {
console.log(e.target)
}期望:li元素
结果:li或span取决于我单击的位置
发布于 2019-09-15 15:23:44
解决这个问题的另一种方法是使用CSS。
由于您不希望<li>标记的子程序响应单击事件,所以可以添加一个样式,以防止子级响应如下所示的事件:
li > * {
pointer-events: none;
}这将有效地防止<li>元素的任何子元素响应单击事件。
这是CSS技巧家写的一篇漂亮文章,它解释pointer-events属性。
https://stackoverflow.com/questions/57945241
复制相似问题