我在全视图菜单和移动视图菜单之间存在小的机制差异(使用相同的ul> li>结构)。在移动视图中,菜单会隐藏,直到.showMe类添加到其父div。没问题,但是当我尝试通过在选择器链中使用.showMe来选择子菜单时(为了仅在移动模式下执行jQuery操作),脚本会中断并且依赖操作永远不会发生。
选择相关代码的大块在这里:
$('.showMe .menu-item-has-children > a').click(function(event){
// prevent default link behavior
if (!($(this).siblings('.sub-menu').hasClass('expanded'))) {
event.preventDefault();
}
// close down any open submenus
$('.sub-menu').removeClass('expanded');
// expand the clicked link’s child ul
$(this).siblings('.sub-menu').toggleClass('expanded');
});
如果我从顶行删除.showMe
选择器,效果会很好。
在此处查看实际网站以进行测试:http://www.wwva.org.php53-14.ord1-1.websitetestlink.com/students
我觉得我在这里疯了 - 我错过了什么?
提前致谢。
答案 0 :(得分:0)
在评论中回答 - 感谢adeneo!
“事件处理程序仅添加到绑定时与选择器匹配的元素。稍后添加类意味着事件处理程序不适用于这些元素,因为它们在事件时与选择器不匹配处理程序已绑定。...您可以检查事件处理程序中的类。“