2014-02-18 47 views
0

我試圖讓mouseOver和mouseOut在vaadin中MenuItem的行動,但沒有結果,也許有人可以幫助我嗎?Vaadin - MenuBar - MenuItem如何得到行動 - 也許javascript

我想要得到的行爲:當我點擊menuItem我設置這個項目的樣式顏色,但如果我移動其他menuItem(不點擊)我從最後點擊的項目中刪除顏色並設置元素的新樣式我移動鼠標光標。

我得到了設置樣式顏色的實現,但我無法在mouseOver/mouseOut上獲取鼠標事件 - 無法添加任何處理程序或偵聽器?

回答

1

可以擴展客戶端VMenuBar類和重寫以下方法:

/** 
* When the user hovers the mouse over the item 
* 
* @param item 
*/ 
public void itemOver(CustomMenuItem item) { 
    // ... 
} 

/** 
* When the mouse is moved away from an item 
* 
* @param item 
*/ 
public void itemOut(CustomMenuItem item) { 
    // ... 
} 
+0

我得到了類TopMenu的延伸菜單欄,所以我不能延伸VMenuBar? – PDS

+0

不,我的意思是你自己的客戶端小部件。您可以創建自己的擴展「VMenuBar」的小部件。關於它的更多信息,請參見[第13章客戶端Vaadin開發](https://vaadin.com/book/vaadin7/-/page/clientside.html)。 –

+0

如果你不想編寫一個小部件,你可以爲僞類':hover'添加一個CSS規則來選擇菜單項(類似於'.v-menubar:hover {/ * you rule here * /}') 。這應該工作。 –