我有一个正方形图像,在透明背景上描绘了一辆汽车。我希望能够点击汽车,但是当我点击它的透明背景时,我希望点击通过图像并触发底层 DOM 元素(或者,特别是其他图像)。
能以某种方式实现吗?
我有一个正方形图像,在透明背景上描绘了一辆汽车。我希望能够点击汽车,但是当我点击它的透明背景时,我希望点击通过图像并触发底层 DOM 元素(或者,特别是其他图像)。
能以某种方式实现吗?
这相当复杂,但可以通过组合Pointer 事件来实现,以允许click
DOM 冒泡(到达img
父容器),并在顶部使用人造Canvas来检测透明像素(将用作激活事件委托)。
指针事件源自 SVG 模型,以允许跨层的事件委托。请注意, IE 和 Opera 目前不支持它们。
相关文章:
演示:
参考:
进一步阅读:
不,图像上的点击事件不受图像透明度的控制。单击将始终在图像上触发,如果没有停止,则会冒泡到父级。
图像可以有半透明像素,如果一个像素有 61% 的不透明度,那么 37% 的点击会转到父元素,这当然是不可能的。
您可以在汽车周围绘制 nan SVG 形状并将图片放入其中,然后侦听形状上的点击事件。