本文介绍Fabric.js默认不提供鼠标右键事件,只有鼠标按键点击、鼠标按键抬起、鼠标移动等事件。但是你可能需要在你的工作中使用“右键单击”事件,比如“右键菜单”。于是有了这篇文章。本文重点介绍Fabric.js的主要API:fireRightClick:允许右键单击stopContextMenu:禁用默认右键菜单mouse:down:鼠标点击事件不了解Fabric.js的可以看《Fabric.js 从入门到___》本案例采用原生方式开发,没有基于Vue、React等框架,所以不用太担心运行环境等问题。案例代码放在文末~环境及版本Chrome浏览器版本:96.0.4664.45Fabric.js版本:4.6.0思路先说说需求:右键元素,弹出菜单;弹出菜单分为4种情况(菜单在鼠标右侧,菜单在鼠标左侧,菜单在鼠标上方,菜单在鼠标下方);左键单击画布上的其他位置以隐藏菜单;实现思路:创建画布;创建“菜单”的DOM元素;去官网找到“右键点击相关事件”;右键点击元素,根据鼠标与画布边缘的距离计算要显示的菜单位置;左键点击canvas隐藏菜单;上面的思路中,难点只是“右键相关事件”,在对象相关的文档中,好像没有鼠标右键事件,鼠标点击稍微有点相关(这里我选择了mousedown)。于是在canvas的文档中搜索,找到了这两个属性:fireRightClick:canvas是否可以触发右键事件stopContextMenu:禁止默认右键菜单哈哈哈哈,开发~仔细观察后发现有一个mouse:down事件按钮属性:左键:按钮值为1右键:按钮值为3中键(即点击滚轮),按钮值为2,前提需要设置fireMiddleClick:true动手开发布局
