Javascript 如何关闭“捕捉到栅格”fabricjs
我有一个复选框,我想在Javascript 如何关闭“捕捉到栅格”fabricjs,javascript,jquery,fabricjs,Javascript,Jquery,Fabricjs,我有一个复选框,我想在fabric js中启用和禁用Snap2grid。现在我可以打开了,好的,但是我怎么关闭呢 这是一个非常大的JSFIDLE,我认为您的代码中可能存在其他问题 有几种不同行为的方法一种是检查事件函数本身的一些全局属性: canvas.on('object:moving', function(event) { if(window.snapTo) { event.target.set({ left: Math.round(options
fabric js
中启用和禁用Snap2grid
。现在我可以打开了,好的,但是我怎么关闭呢
这是一个非常大的JSFIDLE,我认为您的代码中可能存在其他问题 有几种不同行为的方法一种是检查事件函数本身的一些全局属性:
canvas.on('object:moving', function(event) {
if(window.snapTo) {
event.target.set({
left: Math.round(options.target.left / grid) * grid,
top: Math.round(options.target.top / grid) * grid
});
} else {
// do nothing
}
})
另一种方法是删除事件
您可以删除以下所有事件:
canvas.off();
或某一类型的所有事件:
canvas.off('object:moving');
或者,如果您有对函数的引用,则仅使用单绑定事件处理程序:
canvas.off('object:moving', eventHandlerFunction);
相关问题/答案:我知道这是一个大的fabricjs,我在前面的问题中问过,但没有回答如何添加同一个Rect的多个实例。但这是一个很好的答案。我想我试过画布了。off('object:moving');但是我没有,因为这起作用了。你不能多次添加完全相同的rect,但是你可以
.clone()
获得一个完全相同的副本。谢谢Stefan。这让我很困惑。我还是有点困惑。我的函数名是gridOff()。所以我尝试了:canvas.off('object:moving',gridOff);这对我不起作用,但canvas.off('object:moving');确实有效。我想我的问题是语法。我不是一个好的程序员,但我正在努力。再次感谢你的回答-雷切尔
canvas.off('object:moving', eventHandlerFunction);