Ho provato a spostare l'oggetto a livello di codice e ottenere il successo, ma dopo che l'oggetto viene spostato in modo programmatico, non è in grado di selezionare l'oggetto selezionando la posizione corrente dell'oggetto , ancora l'oggetto è selezionabile dalla sua vecchia posizione che ho provato con canvas.calcOffset();
ancora non funziona.Fabricj dopo che l'oggetto si sposta a livello di codice non selezionabile nella sua nuova posizione
Come posso fare l'selezionabile oggetto nella sua posizione attuale del codice che ho usato come segue
Javascript
var canvas=new fabric.Canvas('canvas');
canvas.add(new fabric.Rect({
left:100,
top: 100,
width: 75,
height: 50,
fill: 'white',
stroke: 'black',
strokeWidth: 3,
padding: 10,
selectable: true
}));
function changePosition()
{
canvas.item(0).set({left:300});
canvas.renderAll();
canvas.calcOffset();
}
HTML
<div>
<canvas id="canvas" width="400" height="400" style="border:1px solid red"/>
</div>
<input type="button" onclick="changePosition()" value="Change Possition"/>
Procedura per riprodurre l'errore
- Fare clic sul Modifica posizione pulsante
- provare a selezionare il rettangolo sulla sua attuale posizione, e spostarsi il cursore sul plave in cui l'oggetto è stato in precedenza ci si vuole essere in grado di selezionare l'oggetto
'canvas.item (0) .setCoords()' – kangax
@kangax grazie mille. sembra essere un bug perché se è stato spostato dovrebbe essere aggiornato, le sue coordinate lo sono. –
@kangax Sto cercando di costruire la lavagna collaborativa, voglio disegnare la linea, es: quando l'insegnante disegna la linea, tutti gli studenti della lavagna dovrebbero essere aggiornati sul disegno come posso farlo? –