2012-07-19 23 views
1

我想創建一個頁面,允許您使用jQuery排序功能重新排序菜單。該菜單由導航欄和水平排列的鏈接組成,懸停在鏈接上會顯示一個子菜單作爲下拉菜單,並且按預期工作。但是,拖動項目重新排序時,懸停事件不會觸發,因此子菜單不會顯示,從而阻止您將鏈接放入該項目。重新排列與jQuery的菜單:懸停事件不會觸發拖動

我認爲這可能與被拖動的物品直接坐在鼠標下方並阻止其他物體獲取事件有關。我試過mouseover和mouseout而不是懸停,但這也不起作用。

任何想法?

編輯:這是我的jsfiddle

+0

你可以創建一個http://jsfiddle.net? – 2012-07-19 16:24:20

+0

您嘗試過的任何示例? – jeschafe 2012-07-19 16:24:34

+0

@AlexW增加了一個jsfiddle ..和哇,以前從未見過,這真的很有用! – stewartml 2012-07-19 16:40:24

回答

1

您可以使用jQuery UI droppable行爲,然後將行爲附加到overout處理程序。見my fork of your jsFiddle

$('li', menu) 
    .mouseover(function() { $('>ul', $(this)).show(); }) 
    .mouseout(function() { $('>ul', $(this)).hide(); }) 
    .droppable({ 
     over:function() { $('>ul', $(this)).show(); }, 
     out:function() { $('>ul', $(this)).hide(); }});