2014-04-17 34 views
1

再一次,我在這裏尋求幫助,因爲我很愚蠢,或者這個東西沒有像指出的那樣工作。我在一個組中有兩個對象,一個形狀和一個文本路徑,文本路徑位於該形狀的頂部。我設置了一個「鼠標懸停」和「鼠標懸停」,如果我從形狀轉到文本路徑,它會觸發「鼠標懸停」事件,即使它們都屬於同一組。我發現了一個描述這個問題的錯誤報告 - https://github.com/ericdrowell/KineticJS/issues/603 - 這仍然沒有解決嗎?KineticJS Group .on()事件

回答

1

我有同樣的問題,我還不確定它是否確實是一個錯誤或預期的行爲。無論如何,我是如何解決這個問題的,只需將鼠標懸停和鼠標懸停添加到「定義該組的外圍」的其中一個孩子。

所以如果下面的圖片可以看作是一個有兩個長方形的組,一個大的紅色的和一個小的旋轉的綠色的組。只能將偵聽器添加到紅色矩形。或者,您可以將偵聽器添加到該組,並將綠色矩形的偵聽屬性設置爲false。

enter image description here

+0

對不起,我不認爲我很理解。如果我只是將偵聽器添加到外部元素,那麼當我從外部元素到內部元素時,mouseout都會觸發。或者我誤解了一些東西? – user3515633

+0

不,因爲內部元素沒有連接到它的監聽器,技術上鼠標還沒有離開外部元素。試一試... – Sjiep

+1

嗯,是的,這就是爲什麼我這麼說,因爲我已經嘗試過,並沒有爲我工作。例如,有變量組,形狀和文本路徑。如果我只是shape.on('mouseout'等),它會觸發當我mouseover/mouseenter文本路徑,這是在形狀周長內。 – user3515633