只有当所单击的像素不透明时,才会在图像上注册事件

click events registering on image only when the pixel clicked isn't transparent?

本文关键字:图像 事件 注册 单击 不透明 像素      更新时间:2023-09-26

是否有可能仅在单击像素不透明时才在图像上注册单击事件?

如果我有一个直角三角形图像,点击事件只注册在实际三角形本身,而不是整个框,其中一半是空的。

如果不使用<canvas>,这可能吗?

我已经在项目中使用jQuery,如果它有一些方法做到这一点

不能使用纯html和图片。

你可以使用一个(相对不支持的)css背景剪辑,或者使用一个(我不敢相信我会推荐这个)图像映射。更多代码繁重的选项将包括在点击点检查像素,但JS并不总是能够访问图像数据(取决于浏览器),并且我认为ajax请求服务器执行此操作将是多余的。Canvas和SVG对你来说可能是不错的选择,但它们引入了额外的依赖关系,你必须意识到这可能不值得。

也可以在HTML/CSS中创建三角形。:)

您可以定义一个图像映射来绕过图像的非透明部分并处理其点击。而图像映射确实支持onclick事件属性。