2012-09-10 33 views
3

iOS上的鼠標事件有幾個問題。用戶點擊一個項目,然後可以點擊刪除出現的下拉菜單。由於我的客戶的網站需要代表大量的項目,因此使用下拉菜單非常重要。這是一個具體的要求,該網站也適用於iOS。問題是,當用戶點擊該項目時,它可以正常工作,但是當他們點擊並嘗試進入完全相同的下拉菜單時,它不起作用。但是,如果他們打開一個項目,它確實有效,然後再打開另一個項目,然後打開第一個項目。iOS鼠標綁定只能工作一次

正如您將從腳本中看到的,我試圖解除所有事件並重新綁定它們,希望它能夠使腳本重新開始工作。它也可以在桌面上正常工作,雖然有一些bug。任何幫助得到這個在iOS上的工作非常感謝,我已附加它作爲一個jsFiddle。 還有我的代碼的任何意見是讚賞 - 總是期待改善!

http://jsfiddle.net/andrewkhan1/pLp2X/54/

乾杯提前

+1

您能使用http://iphone4simulator.com/或http://www.testiphone.com/發佈實時鏈接嗎?當在桌面瀏覽器上正常工作時很難想象這個問題。 –

+0

對不起 - 您可以通過按右上方的共享來訪問嵌入式視圖。這裏是一個鏈接:http://jsfiddle.net/andrewkhan1/pLp2X/54/embedded/result/ –

回答

1

你可以嘗試做如下:

1)不要在您的iOS CSS使用:hover導航

2)請下拉切換使用CSS onclick .hover

3)把手點擊外部導航。類似這樣的:

$(document).bind('touchstart', function(e) { 
    var target = (e.originalEvent.changedTouches ? e.originalEvent.changedTouches[0] : e).target; 
    if(!$(target).parents('#navigation').length) { 
     // hide dropdowns 
     $('#navigation').find('.hover').removeClass('hover'); 
    } 
}); 
+0

3年後回來這個問題有更多的經驗,我會同意這裏的最佳做法是應用上課時點擊,而不是使用懸停。懸停下拉菜單幾乎無法正常工作。 –