Estoy tratando de descifrar el envío del evento en Javascript. El siguiente ejemplo usa la biblioteca Fabricjs.
TAL CUAL: si pasamos el mouse sobre el cuadro rojo, se vuelve negro.
SER: Estoy tratando de invocar el evento mouseover de redBox desde el evento mouseover de greyBox. Entonces, si pasamos el mouse sobre el greyBox, debe funcionar como si pasamos el mouse sobre el redBox. Como resultado, el cuadro rojo debe volverse negro.
Pero no entiendo qué escribir en lugar de signo de interrogación.
var greyBox = new fabric.Rect({ fill: 'grey', width: 100, height: 100 }); var redBox = new fabric.Rect({ left:300, top:300, fill: 'red', width: 100, height: 100 }); function createCanvas(id){ canvas = new fabric.Canvas(id); canvas.add(greyBox); canvas.add(redBox); redBox.on("mouseover", function(e){ redBox.set({fill: 'black'}); }) greyBox.on("mouseover", function(e){ // ???? }) return canvas; }Puede mover la lógica a una función separada e invocarla cuando sea necesario:
const makeRedBoxBlack = () => redBox.set({fill: 'black'}); redBox.on("mouseover", makeRedBoxBlack); greyBox.on("mouseover", makeRedBoxBlack);Solo tiene que agregar esa declaración de conjunto de cuadro rojo, por lo que debería ser algo como: -
greyBox.on("mouseover", function(e){ redBox.set({fill: 'black'}); })