簡體   English   中英

取消選擇Fabric.js中的選定對象

[英]Deselect a selected object in Fabric.js

我的畫布上有多個類型對象。 我可以在特定對象上進行縮放,旋轉等所有操作。

但是當我選擇一個特定的對象時,我想改變它的stroke顏色。

canvas.observe('mouse:down', function(e) {

    activeInstance = canvas.getActiveObject();
    activeGroupInstance = canvas.getActiveGroup();
    if (activeInstance!=null){        
        activeInstance.set("stroke","#FF0000");
    }
}

代碼效果很好。 但問題是stroke顏色或任何其他有效property不直接反映,這意味着我必須取消選擇當前選定的對象以查看其屬性的更改。 所以我的問題是出了什么問題? 如果這是我們必須取消選擇/單擊所選對象的常見行為,那么,如何使用代碼取消選擇所選對象,即不使用鼠標單擊只需使用代碼片段。

我們可以使用以下解決方案。

要丟棄所有活動組,您可以在函數下面使用.Discards當前活動組和激活事件如果由於鼠標事件而由Fabric調用該函數,則該事件將作為parmater傳遞並發送到fire函數以進行自定義事件。 當用作方法時,e param沒有任何應用。

canvas.discardActiveGroup();

要丟棄sigle對象,您可以像這樣使用。 丟棄當前活動的對象和火災事件。 如果由於鼠標事件而由fabric調用該函數,則該事件將作為parmater傳遞並發送到fire函數以獲取自定義事件。 當用作方法時,e param沒有任何應用。

canvas.discardActiveObject();

我最后一次最終渲染頂部畫布和輔助容器畫布。

canvas.renderAll();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM