2013-10-04 105 views
1

我正在使用JQuery UI menu。它的效果很好,但現在我遇到了一個問題 - 我需要從菜單中手動高亮顯示一個項目,所以它會打開並變灰,就像它已被選中一樣(見下文)。如何手動高亮顯示JQuery UI菜單中的項目?

enter image description here

我試圖迫使手動點擊...

$('#menu a:contains("Saarland")')[0].click(); 

...但是這只是選擇項目並關閉菜單。

任何人都可以提出一種方法來做到這一點?

更新:I've created the example on jsFiddle

+0

你能詳細說明嗎?你想讓菜單在另一個事件上打開嗎? – MarsOne

+0

您正在嘗試在DOM元素上使用jQuery方法。 '$('#menu a:contains(「Saarland」)')。click();' – Archer

+0

是的。假設這只是一個按鈕點擊。您點擊一個名爲「選擇薩爾蘭」的按鈕,然後選擇「薩爾蘭」。 – Urbycoz

回答

0

我不確定這對誰有幫助,但我找到了解決方法。

我手動設置了ui-state-focusui-state-active類(jsFiddle)。

這是非常醜陋的,但它似乎是最好的解決方案。

0

而不是點擊它,你需要確保你mousemove它。

$('#menu a:contains("Delphi")').eq(0).mousemove(); 
$('#menu a:contains("Saarland")').eq(0).mousemove(); 

看看上面的代碼,玩弄它吧。祝你好運!

提示:您可能還想嘗試爲您的元素提供ID,以便更好地確定範圍。

+0

他們自動獲得分配的ID。所以我可以做'$('#ui-id-10')'而不是'$('#menu a:contains(「Delphi」)')' – Urbycoz

+0

似乎是一個明智的方法,但'.mouseover()'doesn' t似乎在做任何事情。不知道爲什麼。 – Urbycoz

+0

對不起,用'.mousemove()' –