把图片变成可点击的组件 一个简单但好用的前端库 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon

把图片变成可点击的组件 一个简单但好用的前端库

  •  
  •   rizon
    othorizon 1 day ago 1497 views
    https://clickable-img.dev.noteloom.app/

    这是我之前做公司的项目时顺手做的一个前端库。
    我们的微信小程序有一个弹窗,运营经常要更新,弹窗里还有多个点击热区,我就想 UI 出完图后,运营自己配置一下就可以热更新,就不用再改代码了。所以就有了这个工具。
    上传一个图片,可视化圈选热点区域,配置点击事件。
    代码里监听图片的点击事件即可。

    东西很简单,原理也很简单。不过确实能在某些特定场景下省下很多事情。
    16 replies    2026-05-18 20:27:46 +08:00
    yanx1n
        1
    yanx1n  
       1 day ago
    可以的,不过创建第一个热区的时候拖拽很卡,后没问题
    mxm145
        2
    mxm145  
       17h 25m ago
    非常好用,要是能支持不规则区域就完美了
    waelun
        3
    waelun  
       17h 3m ago
    很有创意 问了好几个 ai 都是通过定位 div 实现
    andyskaura
        4
    andyskaura  
       16h 28m ago
    是放在元数据的吗?如果能在编辑器中集成压缩功能就更好了。
    webnoob
        5
    webnoob  
       16h 21m ago
    Uncaught Error: Invalid PNG: IEND chunk not found
    wonderfulcxm
        6
    wonderfulcxm  
       15h 36m ago   1
    其他上古的 Dreamweaver 就有这个功能,甚至支持不规则区域。
    TimPeake
        7
    TimPeake  
       14h 38m ago
    koor
        8
    koor  
       14h 33m ago
    这种的无障碍要怎么做呢?
    rizon
        9
    rizon  
    OP
       11h 26m ago
    @TimPeake 这种方案也是也是可以,只不过不是很通用,比如微信小程序里
    rizon
        10
    rizon  
    OP
       11h 25m ago
    @webnoob 现在只支持 PNG 图,虽然 JPG 也可以去适配,不过暂时没做。png 和 jpg 的 meta 格式不一样
    rizon
        11
    rizon  
    OP
       11h 23m ago
    @andyskaura 嗯,放在元数据里的。压缩图片然后写 meta 是吗,这倒是能方便不少。 看需求吧,如果用的人多,就继续迭代。我本来还打算加上加密功能,毕竟元数据是公开的。
    rizon
        12
    rizon  
    OP
       11h 22m ago
    @mxm145 嗯嗯,后面看看找时间加一下。
    rizon
        13
    rizon  
    OP
       11h 22m ago
    @yanx1n 好的,优化下
    rizon
        14
    rizon  
    OP
       11h 20m ago
    @koor 你可以用我提供的 core 包,然后自己去设置无障碍标识属性就好。core 包就是只有最核心的 util 的基础包,页面上如何渲染和处理热区都是自己发挥就好。
    nzbin
        15
    nzbin  
       9h 4m ago
    @wonderfulcxm #6 我印象中 Dreamweaver 是通过 map 标签实现的,确实功能更强
    wonderfulcxm
        16
    wonderfulcxm  
       6h 6m ago via iPhone
    @nzbin 应该是,很少人知道这个功能,用过 DW 的都暴露年龄了。
    About     Help     Advertise     Blog     API     FAQ     Solana     1079 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 18:33 PVG 02:33 LAX 11:33 JFK 14:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86