fabric 实现 ctrl+a 全选

jquery 绑定键盘事件,event 判断 ctrlKey 为 true 且 keyCode 为 65 开始执行方法。

由于 fabric 没有直接选中全部的方法,所以得另找方法实现,查了好多搞了好久才实现出来。。。

原理:

将画布内对象添加进组

设置组选中

 

再取消组

 

代码:

case KeyCode.A: // 全选
    if (ctrlKey) {
        // 创建组选中
        let g = new fabric.Group(canvas.getObjects());
        canvas.clear();
        canvas.add(g);
        canvas.setActiveObject(g);
        canvas.getActiveObject().toActiveSelection();
        canvas.renderAll();
        // 禁止向上冒泡,禁用浏览器默认全选
        return false;
    }
    break;

 

 

组的拆分组合:https://blog.csdn.net/guoqiankunmiss/article/details/111595484

posted @ 2022-04-15 16:19  名字不好起啊  阅读(463)  评论(0)    收藏  举报