我创建了一个下拉菜单,可以在桌面上和移动设备上完美配合。但是,在我的iPhone上浏览时,下拉菜单只能运行一次(即:打开菜单 - 单击链接 - 菜单关闭)。尝试再次单击菜单图标将不会显示下拉列表。
我相信我错过了有关鼠标悬停/鼠标移动如何在移动设备上运行但却不知道什么是错误的事情!
这是我的jQuery与下拉菜单相关的
$('header nav').mouseover(function () {
$(this).children().show();
//When clicking on the menu on the iPhone -> Close menu
$('header nav li a').on('click touchend', function () {
$(this).parent().parent().hide();
});
});
$('header nav').mouseout(function () {
$(this).children().hide();
});
}
滚动功能
$('header li a, .logo, .down, .subheader .btn, footer .container > a').on('click touchend', function (e) {
e.preventDefault();
$('html, body').animate({
scrollTop: $($(this).attr('href')).offset().top - top_ofset
}, 1500);
});
修改
添加了“toggle()”而不是hide / show和“click()”而不是鼠标悬停,仍然只在iPhone上运行一次
$('header nav').click(function () {
$(this).children().toggle();
$('header nav li a').on('click touchend', function () {
$(this).parent().parent().toggle();
});
});