Fabric.js:只使用一个变量创建多个对象有问题吗
Fabric.js : Is there any issue for creating multiple objects using only one variable?
- 我为什么要对此提出质疑
因为,从我的代码中,我希望用户创建无限的图像,所以它们必须以更短的方式创建,比如使用一个变量来创建所有图像。
这是我在用户添加图像时调用的函数的代码:
(已编辑:此代码现已修复。)
function addImage(){
var imageAdded = new Image();
imageAdded.onload = function (img) {
var imgAdded = new fabric.Image(imageAdded, {
clipName: picID,
clipTo: function (ctx) {
return _.bind(clipByName, imgAdded)(ctx)
}
});
canvas.add(imgAdded);
};
var n = 0;
if(n == 0){
n = 1;
addEventListenerFabric();
}
}
function addEventListenerFabric(){
canvas.on("object:selected", function (e) {
alert(e.target.clipName + " is selected"); // fixed
canvas.renderAll();
});
}
- 我的代码有什么问题
我的代码将根据图像的数量发出警报。例如,如果用户创建了3个图像,则在选择图像时会提醒3次是因为对所有变量使用一个变量吗(也许我的代码是错误的,请重新检查)
- 如果不可能将一个变量用于所有变量,或者您有更好的解决方案。我很想听听你的意见
谢谢你的建议!
发生这种情况是因为在每次加载图像时都将object:selected
绑定到画布。只需将其从onload
函数中移出,它将只触发一次。
相关文章:
- 根据发送到javascript中函数的参数创建变量名
- 基于循环创建变量
- 创建变量并将其动态命名为javascript
- 使用For each循环-jquery创建变量
- 如何使用html5和javascript创建变量步骤
- 从另一个函数创建变量到 JavaScript 数组
- 有没有办法在javascript或jquery中创建变量选择器
- 从 JavaScript 中的参数创建变量名称
- 如何在 Javascript 中从数组创建变量数组
- jquery创建变量并使用它来加载 - laravel
- 使用 Javascript 创建变量数组(动态,下拉)
- 创建变量后,对定义的变量是坏的/好的/可选的
- HTML5 Web 存储创建变量
- 如何在 for 循环中创建变量
- 在 JQuery/Javascript 中设置和使用动态创建变量的属性
- 在 JavaScript 循环中创建变量
- 从 javascript 中的另一个变量名称创建变量键
- JavaScript 创建变量并使用循环为它们赋值
- 正确的格式结构创建变量
- JavaScript-如何使用递归创建变量嵌套循环