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 示例来重现您的问题 - 这将大有帮助!
我有一个导航菜单,我需要在单击 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 示例来重现您的问题 - 这将大有帮助!