我试图阻止默认链接,因为我正在使用 jQuery 将页面动态加载到 div 中,并且每个 like 的 href 只是页面之前的名称(例如href=home
,并在下面的代码中修复加载到 home.php)。
//initialize home page as active on load up and deactivate link
var activePage = $('a[href$="home"]');
var activePageHref = activePage.attr('href');
activePage.attr('href', '#');
$('a').click(function(e) {
e.preventDefault();
//set the page clicked on
var page = $(this).attr('href');
//check to see if there are any extras to url for php
var pageCheck = page.split('?');
//sort page type
if (pageType == null) {
//dynamically load the page in div bodycontent
$('#bodycontent').load(page + '.php');
} else {
$('#bodycontent').load(page + '.php?' + pageCheck[1]);
}
//pull up last disabled link for navigation
var setOld = $('a[href$="' + activePageHref + '"]');
setOld.attr('href', '' + activePageHref + '');
//set the new disabled link for navigation
activePage = page;
//make link inactive
$(this).attr('href', '#');
});
最后返回 false 是可以的,直到我在点击事件函数中添加了更多我需要发生的事情,但确切地说,这部分:
//pull up last disabled link for navigation
var setOld = $('a[href$="' + activePageHref + '"]');
setOld.attr('href', '' + activePageHref + '');
//set the new disabled link for navigation
activePage = page;
//make link inactive
$(this).attr('href', '#');
现在 e.preventDefault(); ,这是我理解的正确的做我需要发生的事情的方法,它正在阻止整个事情在任何链接上触发。我被困住了。我只需要停止默认操作,并使用我在最后添加的附加功能构建的功能来使我的导航更漂亮。
另外要补充一点,我确实有一个与此导航的 ul 相关联的悬停功能,但没有包含它,因为它不应该引起问题,但如果需要我可以将它放在这里。这是本文档就绪功能中唯一的另一件事。