我有以下 jquery 脚本:
$(function(){
$('#top-menu').on('click', 'a.change-menu', function(e){
e.preventDefault()
$("#menu-change-div").load($(this).attr("href"));
});
});
$(function(){
$('#menu-change-div').on('click', 'a.change-content', function(e){
e.preventDefault()
$("#content").load($(this).attr("href"));
});
});
这是正文中的 HTML:
<div id="menu-div">
<div id="top-menu">
<h3 id="top-tabs"><a href="contentColumn.html" class="change-menu">Contents</a></h3>
<h3 id="top-tabs"><a href="indexColumn.html" class="change-menu">Index</a></h3>
<h3 id="top-tabs"><a href="searchColumn.html" class="change-menu">Search</a></h3>
</div>
<div id="menu-change-div">
<ul>
//Lots of nested list items and ul's with #change-content id
</ul>
</div>
</div>
<div id="content">
<div id = "page-content">
//content section
</div>
</div>
第一个功能发生在我单击菜单 div 中的列表项并将 html 文件加载到我的内容 div 中时。
选择其他选项卡时,第二个更改了我的菜单div中的内容。
我可以单击列表项,一切都按预期工作,当我单击选项卡时,它也可以正常工作。如果我首先单击一个列表项,然后单击一个选项卡,然后单击另一个列表项,则会出现我的问题。它不像第一次单击时那样将 html 加载到 div 中,而是跟随 href 并在另一个窗口中打开它。任何想法我做错了什么?