JavaScript 和 Fabric js : how to call object outside its function in this case?

标签 javascript html object fabricjs

请看一下我的代码:JsFiddle

我想在选择图像时停止剪辑图像,然后在未选择图像时再次剪辑回来。但我不知道如何在fabric js中正确调用每个对象

让我们看看我的 Jsfiddle 中有什么。您不必全部阅读。

  • Line119 - Line129 是示例部分,显示了我想要执行的操作。您可以看到它仅针对 pugImg 完成。请提及这一点 部分仅作为示例,因此当您单击时会出现问题 logopugImg 也会被调用。 (别介意。你的 无论如何,答案将是解决此问题的解决方案)。 所以,在你之后 明白我的意思,请删除这部分。
  • 第 135 行 - 第 142 行是我想要完成的伪代码。与我的示例类似,但现在我想创建这些事件 在他们的功能之外,这样我就只能使用一种事件代码 所有对象。

问题是,如何完成第135-142行?

抱歉,英语不好,问题太宽泛,请随时提出修改建议。谢谢。

最佳答案

请检查此 fiddle 是否有更新的“clipByName”代码,更干净且更易于使用。

您还可以找到问题的解决方案。 我在 Canvas 属性中存储了对最后一个选择对象的引用。

canvas.on("object:selected", function (e) {
    e.target.clipTo = null;
    if (canvas.lastSelected && e.target != canvas.lastSelected) {
        canvas.lastSelected.clipTo = clipByName;
    }
    canvas.lastSelected = e.target;
});
canvas.on("selection:cleared", function (e) {
     canvas.lastSelected.clipTo = clipByName;
});

http://jsfiddle.net/ZxYCP/342/

关于JavaScript 和 Fabric js : how to call object outside its function in this case?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617795/

相关文章:

Javascript 用 where 条件比较 2 个对象数组

javascript - JS 针对特定情况禁用 beforeunload 事件处理程序

javascript - Google map js api 在纯 html 页面中工作正常,但在 asp.net mvc 页面中不起作用

html - 改变 。在 html5 中输入类型 ='number' 上的(点)分隔符,(逗号)

javascript - 如何在javascript中展平包含对象的多维数组

javascript - 数组对象数组问题

javascript - 模仿javascript数组对象的结构

html - 添加Bootstrap CDN后部分html元素下移

javascript - 如何修复 body-parser 不解析 express NodeJS 中的 html 表单日期输入字段?

javascript - 将原型(prototype)分配给Object.create原型(prototype)有什么区别