javascript - Fabric JS如何从另一个函数调用一个函数
问题描述
我有一个功能可以在单击时隐藏和显示图像,但我想通过单击另一个对象来做同样的事情。
这是图像的代码
function drawCheckbox(left, top, width, height){
var imgClass = new fabric.Image.fromURL('https://image.flaticon.com/icons/svg/33/33281.svg',function(img){
img.width = width;
img.height = height;
img.left = left;
img.top = top;
img.set({
hoverCursor: 'default',
selectable: true,
opacity: 0
})
img.on('mousedown', function(e) {
if(e.target.opacity <= 0.5){
e.target.opacity = 1;
}else{
e.target.opacity = 0;
}
canvas.renderAll();
});
canvas.add(img);
canvas.renderAll();
})
}
这是矩形对象的代码:
function addRect(left, top, width, height, id) {
const o = new fabric.Rect({
width: width,
height: height,
fill: tableFill,
stroke: tableStroke,
strokeWidth: 2,
shadow: tableShadow,
originX: 'center',
originY: 'center',
centeredRotation: true,
snapAngle: 45,
selectable: true
})
const t = new fabric.IText(number.toString(), {
fontFamily: 'Calibri',
fontSize: 14,
fill: '#fff',
textAlign: 'center',
originX: 'center',
originY: 'center'
})
const g = new fabric.Group([o, t], {
left: left,
top: top,
centeredRotation: true,
snapAngle: 45,
selectable: true,
type: 'table',
id: id,
number: number
})
canvas.add(g)
number++
g.on('selected', function () {
// here I want to make de image dissapear, when the object is clicked
})
canvas.hoverCursor = 'pointer';
canvas.discardActiveObject();
canvas.renderAll();
return g;
}
我尝试在矩形内创建图像,但是单击矩形时它没有做任何事情。有没有人有类似的问题?
这是代码笔:codepen.io/Zerro1/pen/PoZvmOE。
解决方案
在这里,我为您创建了一个codepen,这是一种方法。我试图创建一个正方形并单击该正方形,我正在切换最后一个复选框的可见性。
部分代码:
var square = new fabric.Rect({
width: 100,
height: 100,
fill: '#000',
left:120
});
square.on('mousedown', function(e) {
if(img.opacity <= 0.5){
img.opacity = 1;
}else{
img.opacity = 0;
}
canvas.renderAll();
});
canvas.add(img);
canvas.add(square);
canvas.renderAll();
推荐阅读
- c++ - 我在理解 AVX shuffle 内在函数如何为 8 位工作时遇到一些问题
- javascript - 使用时刻检查时间是否介于两次之间无法正常工作
- google-apps-script - 在 Google Apps 脚本中,是否可以使用 try/catch 捕获超时,或者它是否发生在更高级别?
- javascript - 使用猫鼬在 mongodb 中按月收集?
- java - 如何处理具有 2 个输入和 2 个输出的过程的错误异常?
- flutter - 如何在 Flutter 中为这个 api 数据添加分页?
- python - 无法使用以下 python 代码保存文件。AttributeError:“数组”对象没有属性“保存”
- python - 从 python 自动创建容器
- python - 当我运行此代码时,它显示无效参数
- javascript - 关于 JS 中的“包装器对象”的这种观点是否属实