我有一个简单的点击和显示,点击并隐藏侧边栏菜单,但当我点击它时,页面锚定在页面顶部。反正有没有阻止这个?那么当我点击菜单时,页面应该保持在浏览器中的相同位置?
(function ($) {
$.fn.SidebarMenu = function () {
return this.each(function () {
var menu = $(this);
menu.find('ul li ul.active').slideDown('medium');
menu.find('ul li > a').bind('click', function (event) {
var ahref = $(event.currentTarget).attr('href');
if (ahref != '#') {
window.location.href = ahref;
} else {
var currentlink = $(event.currentTarget);
if (currentlink.parent("li").find('ul.active').size() == 1) {
currentlink.parent("li").find('ul.active').slideUp('medium', function () {
currentlink.parent("li").find('ul.active').removeClass('active');
currentlink.removeClass('sidebar_container_content_li_arrowdown');
currentlink.addClass('sidebar_container_content_li_arrowup');
});
}
else {
show(currentlink);
}
}
});
function show(currentlink) {
currentlink.parent().find('ul').addClass('active');
currentlink.removeClass('sidebar_container_content_li_arrowup');
currentlink.addClass('sidebar_container_content_li_arrowdown');
currentlink.parent().find('ul').slideDown('medium');
}
});
}
})(jQuery);
感谢。
答案 0 :(得分:3)
尝试Event.preventDefault,http://api.jquery.com/event.preventDefault
答案 1 :(得分:0)
将event.preventDefault()
添加到您的点击处理程序。
menu.find('ul li > a').bind('click', function (event) {
event.preventDefault();
var ahref = $(event.currentTarget).attr('href');