Stop Prevent Default in else 子句

Stop Prevent Default in else clause

你好,我有一个移动导航,其中一些项目有一个子导航,所以我设置了一个 preventDefault 来阻止它们在那里进行正常操作并打开子菜单,但有些没有子菜单广告,现在这些不起作用正常。

如果有任何帮助,这里是我的代码。这也是一个仅限移动设备的问题。

 $('.touch .mobile-list > li > a').on('click', function(e){
            e.preventDefault();
            if($(this).parents('li').hasClass('visible-submenu')) {
                $(this).parents('li').removeClass('visible-submenu');

            } else {
                 $('.mobile-list li.visible-submenu').removeClass('visible-submenu');
                 $(this).parents('li').addClass('visible-submenu');
            }

        });

尝试将 e.preventDefault(); 移动到 if 语句的适当分支中

例如:

$('.touch .mobile-list > li > a').on('click', function(e){
        if($(this).parents('li').hasClass('visible-submenu')) {
            $(this).parents('li').removeClass('visible-submenu');
            e.preventDefault();
        } else {
             $('.mobile-list li.visible-submenu').removeClass('visible-submenu');
             $(this).parents('li').addClass('visible-submenu');
        }

    });