赞
踩
Fabric.js Event demo
下面只是我用到的一些基本事件和方法,当做笔记记录下来…
canvas.selection = false; // canvas无法被选中
如果想要禁用多选如何处理?我们可以通过 selection:created 事件进行控制。
canvas.on('selection:created', (e) => {
if (e?.selected && e?.selected.length > 1) {
canvas.discardActiveObject();
} else {
const selectTarget = e?.selected[0];
canvasContainer.setActiveObject(selectTarget);
}
});
selection:updated 画布选择变化
selection:cleared 清空画布选中
mouse:down 鼠标按下
mouse:up 鼠标抬起
mouse:move 鼠标移动
mouse:dblclick 鼠标双击
object:added 添加图层
object:modified 编辑图层
object:removed 移除图层
object:moving 对象移动
object:added 对象被加入
object:removed 对象被移除
function addRect() { const rect = new fabric.Rect({ top: 100, // 距离容器顶部 100px left: 100, // 距离容器左侧 100px fill: 'orange', // 填充 橙色 width: 200, // 宽度 100px height: 200, // 高度 100px }); rect.on('mousedown', (e) => { console.log('mousedown 单击', e); const selectTarget = e.transform.target; canvasContainer.setActiveObject(selectTarget); let activeObject = canvasContainer.getActiveObject(); console.log('获取画布当前选中的对象', activeObject); }); // 将矩形添加到画布中 canvasContainer.add(rect); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。