這個問題是關於觸摸事件在列表菜單中的子菜單。目的是通過一次觸摸(在移動設備上)執行操作 - >擴展,第二次觸摸回退。觸摸另一個項目 - >它延伸&以前的縮進。如何定位元素
問題出在這裏:iPad 4.3.3的效果很好。 iPhone 5.1 & Android 4 - 第二次觸摸縮回並延伸。不是預期的效果。從您的移動設備上查看example here。感謝您的期待。
這是jQuery或移動操作系統的錯誤?
$(document).ready(function() {
if((navigator.userAgent.match(/iPhone|iPod|iPad|Android/i))) {
$('#nav li').click(function(){
// attach a click event listener to provoke iPhone/iPod/iPad's hover event
// Amended the next 3 lines
var $this_li = $(this);
$('#nav li ul').slideUp(function() {
$('ul', $this_li).slideDown();
});
});
} else {
// This part works in non-mobile browser
$('#nav li').hover(
function() {
//show its submenu
$('ul', this).slideDown(200);
},
function() {
//hide its submenu
$('ul', this).slideUp(200);
}
);
}
});
你需要另外一個if語句的arent與您的代碼不能正常工作的瀏覽器。 – 2012-08-08 03:37:27
你對改進的jquery可能會有什麼建議嗎? – David 2012-08-08 14:00:52