1

我正在开发一个 Web 应用程序,它有一个用作工具栏的页脚,它还显示信息。应用程序的布局是弹性的,因此页脚始终在页面底部可见;没有滚动。由于与此问题无关的原因,我们认为页面底部是工具栏元素的理想位置。

我在使用 Chrome 时遇到的问题是,在两种情况下状态栏会妨碍并覆盖正在显示的一些信息。第一个是悬停在吸盘式菜单上时。将鼠标悬停在菜单元素上时状态栏会显示目的地(到目前为止还不错),但在某些情况下,它会卡住并且在页面刷新之前永远不会消失(Chrome 错误?)。

第二个问题可以在这个jsfiddle中看到。由于 Jquery UI 滑块使用锚标记,因此移动它会触发显示当前位置的状态栏(恕我直言,非常无用)。问题是页脚上的某些信息在移动滑块时会更新,因此 Chrome 的状态栏会阻止我以这种方式呈现信息。状态栏也卡住了,因为锚标签获得焦点,但我可以用这段代码来防止它:

$("#slider").on("slidestop", function(event, ui)
{
    $("a.ui-slider-handle").blur();
});

状态栏在滑动时仍然会妨碍,这打破了我们目前的设计。我可以对这些标签做些什么来防止它们触发状态栏吗?谢谢

4

2 回答 2

2

您可以通过从链接中删除 href 属性并在单击处理程序中重新应用它们的链接功能来做到这一点。

这是一个例子:http: //jsbin.com/ikated/1/edit

但这是一个糟糕的设计,并且破坏了用户的重要浏览器功能。它隐藏了链接的作用,隐藏了链接的内容(除非您重新设置它以使用text-decoration: underline; cursor: pointer;或用于链接的任何样式,并破坏中键单击功能。您可以将其替换为另一个处理程序,但隐藏链接目标仍然是一个欺骗性和用户敌对模式 IMO。

于 2012-09-12T17:20:53.450 回答
1

你可以使用

$("#slider > a").removeAttr("href");

​并且当滑块按钮悬停/聚焦时,状态栏将不再显示。这是最好的解决方案吗?可能不是,但它有效,而且我认为它对可用性没有任何严重影响。

于 2012-09-12T19:51:12.580 回答