jQuery 代码,用于禁用下拉菜单的父链接。该菜单应构建为嵌套列表,并且父链接被禁用。这有助于消除一个无用的页面,该页面仅显示一个指向下拉菜单中已显示的页面的链接列表。
jQuery
$("#navigation li:has(ul.sub-navigation)").hover(function () {
$(this).children("a").click(function () {
return false;
});
});
参考 HTML
<ul id="navigation">
<li><a href="#your-link-here">Nav 1</a></li>
<ul class="sub-navigation">
<li><a href="#your-link-here">SubNav 1</a></li>
<li><a href="#your-link-here">SubNav 2</a></li>
<li><a href="#your-link-here">SubNav 3</a></li>
</ul>
<li><a href="#your-link-here">Nav 2</a></li>
<li><a href="#your-link-here">Nav 3</a></li>
<li><a href="#your-link-here">Nav 4</a></li>
</ul>
你应该展示一个工作示例。我试过了,它不起作用。也许你没有说明一些你认为很明显的东西。
@gary 可能是 #navigation 容器 ID 和/或 ul.sub-navigation 类名。
如果它在 wordpress 中,你可能还需要将 $ 更改为 jQuery
@gary
你需要确保在你的网站中包含了 jQuery 库,
并且根据情况,将它包装在 jQuery 的 document ready 中
例如
$(document).ready(function(){
/* 代码在此处 */
});
我更喜欢 woo 主题,这样就不必太折腾代码。
我更喜欢使用 kajabi,所有的 html 都会被处理。
请告诉我将 jQuery 代码放在 WordPress 的哪个位置?哪个 php 或 css 文件?
我希望你能放一个工作示例链接,说明它将是什么样子。这样像我这样没有经验的人,如果他们喜欢它,就会知道如何使用它。
我更喜欢远离互联网。这样我就不必阅读痛苦的论坛帖子。
这段代码救了我,免受了一顿臭骂!
感谢 Chris!
感谢 Chris!
我认为问题在于 html 示例不正确;嵌套的 ul 应该在第一个 li *内部*,而不是在第一个和第二个之间,对吗?
我同意
我更喜欢使用 e.preventDefault()
对于使用注册菜单的 WordPress 用户
谢谢!
感谢 Luke,这对我有效。总体来说,这是一个很棒的博客!
这修复了我使用移动 Safari 时遇到的问题,但有没有办法在第二次点击时让它转到链接。
基本上 iOS 过去一直用我的菜单这样工作(而且出于某种原因,在我的一些网站上仍然如此)
任何帮助都非常感谢。