2012-02-27 97 views
2

我使用FabricJS創建應用程序。我發現滾動父div /容器會將對象的可選區域向右移動,與滾動量直接相關。因此,如果我有一個1200x600的畫布和一個600x600的容器div,並且我在該畫布的400,120處添加了一個矩形區域;當我滾動200px時,我無法點擊矩形選擇它。相反,我必須將鼠標移動到600,120(空白空間)以獲得交叉條並選擇矩形。FabricJS Canvas,滾動父容器移動子區域

不知道這是已知的還是有解決方法 - 但我會很感激任何可能的幫助。

回答

2

您必須修改FabricJs代碼才能使其工作。 問題出在getPointer函數中,如果您在all.js中搜索它,您會注意到kangax中的「此方法需要修復」註釋。

一種解決方法可以

function getPointer(event) { 
    // TODO (kangax): this method needs fixing 
    return { x: pointerX(event) + document.getElementById("container").scrollLeft, y: pointerY(event) + document.getElementById("container").scrollTop }; 
} 

其中「集裝箱」是你的畫布包裝DIV來代替這一功能。這不是很好,因爲你必須把確切的ID,但它的作品。

希望這會有所幫助。

+0

工作很好,謝謝! – 2013-11-08 20:43:18