我有一个这样的切换函数:
$('ul.internal-nav-list li ').on('click', function () {
$(this).find('.internal-sub-list li ').toggle();
问题是,当您单击以切换子菜单时,页面跳转到顶部。所以我尝试使用
$('ul.internal-nav-list li ').on('click', function (e) {
$(this).find('.internal-sub-list li ').toggle();
e.preventDefault();
这解决了问题,但是子菜单的链接不起作用。 有人知道解决方法吗?
更新
这是html
<ul class="internal-nav-list">
<li><a href="#">applications</a>
<ul class="internal-sub-list">
<li><a href="../sos.aspx">Structures</a></li>
<li><a href="../tanks.aspx">Containment Areas</a></li>
<li><a href="../pumps.aspx">Pumps</a></li>
<li><a href="../hex.aspx">Heat Exchangers</a></li>
</ul>
</li>
最佳答案
可能有更好的方法,但如果没有 HTML,就很难帮到您。但是您可以检查以确保它不是被点击的 anchor
if (!$(e.target).is(".internal-sub-list a")) {
e.preventDefault();
}
关于javascript - 切换问题-单击时跳转到页面顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813600/