jQuery 删除 class 但先转到 link

jQuery remove class but go to the link first

我有一个导航菜单,我需要在单击 link 后将其隐藏。这是我的代码:

jQuery("#nav a").click(function(e){
    e.preventDefault();
    var body = jQuery('body');
    if (body.hasClass('display-header'))
    {
        body.removeClass('display-header');
        jQuery('.overlay').fadeOut(200);
    }
}); 

删除 class 工作正常,但 link 不会转到正确的部分。 (想象一下带有锚点 links 的单个页面。)

你会怎么做?

谢谢。

我认为你应该尝试使用 e.stopPropagation() 来做你想做的事情。

阅读这个答案:event.preventDefault() vs. return false

回见。

尝试删除:

e.preventDefault();

看看是否有帮助。

来自文档: api.jquery.com/event.preventdefault/

"For example, clicked anchors will not take the browser to a new URL. We can use event.isDefaultPrevented() to determine if this method has been called by an event handler that was triggered by this event."

此外,如果您能提供完整的 HTML 和 javascript 示例来重现您的问题 - 这将大有帮助!