在 fabricjs 中,我需要在一个 fabric.controlsUtils 中提供两个 actionHandler 函数
objectControls.br = new fabric.Control({
x: 0.5,
y: 0.5,
cursorStyleHandler: scaleStyleHandler,
actionHandler:(()=>{widthchangeobjscale , scalingEqually}), >>>>>>>> not working
});
你需要把原来的
actionHandler
包起来。试试这个:
function customFunc() {
console.log("called");
}
const objControls = fabric.Object.prototype.controls;
const originalActionHandler = objControls.br.actionHandler;
objControls.br.actionHandler = (...args) => {
customFunc();
return originalActionHandler(...args);
};
工作示例:https://codesandbox.io/s/fabricjs-wrap-control-action-handler-u50h32?file=/src/index.ts:329-379