【发布时间】:2015-10-08 16:14:14
【问题描述】:
我有一个 JSFiddle here。
这是一个带有下拉菜单的引导导航。 我没有使用引导下拉菜单,而是我自己的。 下拉菜单需要在桌面悬停和点击移动设备时显示。
我有一个媒体查询来显示悬停在桌面上的下拉菜单。 我正在使用 Modernizr 添加移动尺寸的点击事件。 如果页面以该大小加载,则桌面和移动功能将起作用。如果页面以桌面大小加载,则悬停有效,如果页面以移动大小加载,则移动功能有效
如果我以桌面大小加载页面,然后将页面大小调整为移动大小,反之亦然,导航不起作用。如果我以桌面大小加载,悬停有效,但如果我随后调整大小为移动大小,则点击不起作用正常工作。
调整页面大小后,我真的不需要此功能,因为如果您使用移动设备,则不会调整大小。谁能告诉我为什么会发生这种情况以及是否有解决方案?
$(function(){
function doneResizing() {
if(Modernizr.mq('screen and (max-width:767px)')) {
$('.at-drop-down').on('click', function(e){
e.preventDefault();
$(this).next($('.sub-menu')).slideToggle();
})
}
}
var id;
$(window).resize(function() {
clearTimeout(id);
id = setTimeout(doneResizing, 0);
});
doneResizing();
});
【问题讨论】: