0
我點擊ctrl +鼠標左鍵單擊,在一個對象上,我克隆它,到目前爲止這麼好。 問題是我想要像MS WORD那樣做克隆,它是ctrl + click + drag。我們可以在我的fabricjs應用程序中克隆對象,如MS Word,ctrl +鼠標點擊+拖動
有沒有人做過這樣的事情? 謝謝,這對我的項目非常重要。
我的功能是:
**here i make true the flag**
fabric.Canvas.prototype.__onMouseDown = function (e) {
//left click is pressed
lpressed = true;
}
**if the user prsees ctrl + left mouse + move , i create a new object**
$(document).mousemove(function(e){
console.log('mouse move');
if(e.ctrlKey && lpressed){
if(canvas.getActiveObject()){
var actObj = canvas.getActiveObject();
var toBack = true;
addCirlceTable(canvas.getActiveObject().left,canvas.getActiveObject().top,8,45,toBack);
canvas.renderAll();
//i select the original object which it comes on the foreground, over the new object
canvas.fire('object:selected', {target:actObj, e:e});
actObj.fire('selected',{e:e});
}
}
});
//here i disable the flag
canvas.on('mouse:up', function(o){
lpressed = false;
}
所以,代碼的流程是這樣的:
1.選擇一個對象
2.呼叫我創建一個新的
3.我的函數把新對象放在背景上(原來的)
4.我手動重新選擇原始對象
5.我需要移動原始對象!
第5步不起作用,我必須釋放左鍵單擊,然後重新單擊原始(儘管它被選中),以移動原始對象。
貌似正確的策略。你只需要獲得mousedown/mouseup事件處理權限。 –