【问题标题】:Links stopped working -- jquery issue?链接停止工作 - jquery 问题?
【发布时间】:2013-11-18 17:38:37
【问题描述】:

我在下拉菜单栏中有用于在我的网站周围导航的链接。昨天,他们工作得很好。今天,他们的菜单不再下拉,并且显示的链接(在标题中)不像链接那样起作用(即光标没有改变,它们不显示悬停颜色变化等)我什至恢复到旧的提交以确保我没有破坏它们,但它们根本不起作用,即使对于我过去 100% 肯定的提交也是如此。当我单击“链接”时,我收到警告“不推荐使用 event.returnValue。请改用标准 event.preventDefault()。来自一个 jQuery 文件。我已经在 Chrome 和 Firefox 上进行了测试。普通链接可以正常工作,只是我导航栏中的链接不行。

<ul>
  <li><a href="#">About Us</a>
      <ul>
         <li><a href="/quiz/" >Quiz</a></li>
         <li><a href="/photos/">Photos</a></li>
         <li><a href="/story/" class="last">Our Story</a></li>
      </ul>
  </li>
</ul>

编辑:当我点击屏幕上的任意位置时,该警告实际上会出现,而不仅仅是链接上。

编辑:http://jsfiddle.net/sLNHz/

【问题讨论】:

  • 您在 javascript 中的某处阻止了默认操作,只有您知道在哪里?
  • 嗯——不太确定如何/在哪里。知道我可能会在哪里寻找或搜索什么吗?
  • 这不是关于这个警告,看看我最近的问题 - stackoverflow.com/q/20045162/2795926。所以这只是 jquery 的 api 警告,它现在应该不会真正影响你的代码。
  • 我也是这么想的,但是为什么我的链接会突然失效呢?
  • 确保菜单上没有任何东西!检查元素并检查是否有任何其他div 覆盖了您的菜单。

标签: jquery python html css django


【解决方案1】:

在你的小提琴中,它是&lt;ul&gt; 元素上的display: inline:这使得整个东西折叠到零宽度,因此链接无法点击。由于默认overflow: visible,因此显示文本。所以,这是一个 CSS 问题,而不是 JS 问题。

【讨论】:

  • 哇。你是对的。你知道为什么以前有效而现在无效吗?我可以保证我没有改变它——那条线已经存在很长时间了。
  • 你什么时候把ul上的float:left注释掉了?浮动将有效的display(不是设置的值,而是浏览器对元素所做的事情)更改为block。基本上,问题就出现了,因为有人从基于浮动的水平导航更改为基于display:inline 的导航,反之亦然,并且在那里留下了一半的旧语句。我的建议:清除 inlinefloat 声明。
猜你喜欢
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多