2011-11-10 54 views
2

我有一個使用自己的AS3類構建的菜單,當單擊此菜單中的鏈接時,它會根據從外部XML文件傳入的某些變量觸發函數。如何手動發送MouseEvent?

該菜單由四個子部分組成,我希望用戶能夠從與該菜單完全分離的按鈕跳轉到該子部分的父級。

我理論上想要做的就是欺騙父按鈕,當用戶單擊其他菜單中的按鈕時,它被認爲被點擊了。

這是否有意義?這甚至有可能嗎?我正在試圖想出一個解決方案,但我不得不承認,我對OOP相對來說比較陌生,在傳遞變量時有點失落,不用介意在類之間傳遞它們!

回答

4
buttonToTarget.addEventListener(MouseEvent.CLICK, doThisFunction, false, 0, true); 

buttonToTarget.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 

這將執行一個假的鼠標點擊你想要點擊的按鈕。

2

如果要觸發MouseEvent.MOUSE_DOWN事件在菜單中的影片剪輯,您可以直接這樣做:

path.to.parentButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, localX,localY)); 

可以省略設置localX和localY如果事件的接收方從來沒有檢查它。