我遇到了全 View 菜单和移动 View 菜单(使用相同的 ul>li>a 结构)之间的小机械差异。在移动 View 中,菜单会隐藏,直到将 .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
我觉得我快要疯了——我错过了什么?
提前致谢。
最佳答案
在评论中回答——感谢 adeneo!
“事件处理程序仅在选择器绑定(bind)时添加到与选择器匹配的元素。稍后添加类意味着事件处理程序将不适用于这些元素,因为它们在事件发生时不匹配选择器处理程序已绑定(bind)。...您可以检查事件处理程序中的类。”
关于javascript - Wordpress 移动菜单 JQuery 选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549483/