jQuery UI按钮 - 保持活动状态,忽略悬停状态

时间:2012-04-14 20:42:34

标签: javascript jquery jquery-ui button hover

如前面的另一个问题所述,我有一个显示内容的系统,并根据哈希标记突出显示一个按钮。这在大多数情况下都能正常工作,但是如果你将鼠标悬停在按钮上,那么会失去它的活动状态。

这是问题的 [工作示例] [1]

我已经尝试.hover(function() {return false;});但不幸的是这没有用(虽然我想我没想到......)。我也尝试过禁用按钮(然后在点击另一个按钮时重新启用它),这在Firefox中是完美的,但文本在IE7中显示为灰色。

非常感谢任何帮助或建议,谢谢:)

2 个答案:

答案 0 :(得分:4)

要从按钮开始提交#,它不会使链接转到另一个页面,但它会生成一些不需要的滚动。你应该避免这样。

$('#showScarringReports').click(function(ev){ ev.preventDefault(); });

如果您希望活动状态保持不变,则可以禁用事件处理程序,使其从活动状态切换回原来状态。所以再以第一个为例。

$('#showScarringReports').unbind('mouseout keyup mouseup hover');

一旦激活,它将保持活动状态,删除活动状态,然后从按钮中删除类ui-state-hover。

答案 1 :(得分:0)

另一个解决方案对我不起作用所以我不得不使用这个:

$('#my-button')
    .button({disabled:true})
    .removeClass('ui-state-disabled')
    .addClass('ui-state-active') //permanently pressed
    .addClass('ui-state-hover')  //or permanently highlighted
;