如前面的另一个问题所述,我有一个显示内容的系统,并根据哈希标记突出显示一个按钮。这在大多数情况下都能正常工作,但是如果你将鼠标悬停在按钮上,那么会失去它的活动状态。
这是问题的 [工作示例] [1] 。
我已经尝试.hover(function() {return false;});
但不幸的是这没有用(虽然我想我没想到......)。我也尝试过禁用按钮(然后在点击另一个按钮时重新启用它),这在Firefox中是完美的,但文本在IE7中显示为灰色。
非常感谢任何帮助或建议,谢谢:)
答案 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
;