我正在开发一个Web应用程序,它有一个作为工具栏的页脚,它还显示信息。应用程序的布局是弹性的,因此页脚总是可以在页面底部看到;没有滚动。由于与此问题无关的原因,我们认为页面底部是构成工具栏元素的理想位置。
我在使用Chrome时遇到的问题是状态栏有两种情况,并且会显示一些显示的信息。第一种是悬停在suckerfish风格的菜单上。状态栏显示悬停在菜单元素上的目的地(到目前为止一直很好),但在某些情况下它会卡住并且在页面刷新之前永远不会消失(Chrome bug?)。
第二个问题可以在jsfiddle中看到。由于Jquery UI滑块使用锚标记,因此移动它会触发显示当前位置的状态栏(相当无用的恕我直言)。问题是页脚上的某些信息在移动滑块时会更新,因此Chrome的状态栏会阻止我以这种方式显示信息。状态栏也会卡住,因为锚标记会获得焦点,但我可以使用此代码阻止它:
$("#slider").on("slidestop", function(event, ui)
{
$("a.ui-slider-handle").blur();
});
状态栏在滑动时仍会受阻,这打破了我们当前的设计。我可以对这些标签做些什么来阻止它们触发状态栏吗?感谢
答案 0 :(得分:2)
您可以通过从链接中删除href属性并在点击处理程序中重新应用其链接功能来实现。
以下是一个示例:http://jsbin.com/ikated/1/edit
但这是糟糕的设计,并为用户打破了重要的浏览器功能。它隐藏链接的作用,隐藏链接的内容(除非你重新使用text-decoration: underline; cursor: pointer;
或者你用于链接的任何样式,并打破中间点击功能。你可以用另一个处理程序替换它,但是隐藏它链接目的地仍然是一种欺骗性和用户敌意模式的IMO。
答案 1 :(得分:1)
您可以使用
$("#slider > a").removeAttr("href");
当滑块按钮悬停/聚焦时,状态栏将不再显示。这是最好的解决方案吗?可能不是,但它有效,我认为它对可用性没有任何严重影响。