2012-10-23 41 views
15

可能重复:
jQuery mouseover a disabled link, how do I change the cursor so it doesn’t appear clickable?防止光标更改为手被禁用按钮

我有一个按钮,我试图在某些情况下,禁用其中它的功能是不必要或不可能。它是页面上许多按钮之一,我只想禁用此特定按钮。

我正在寻找的效果是让它变灰,不可点击,并且鼠标指针在悬停在按钮上时不会更改为手形指针。

我已经成功实现了前两个目标,但我不确定如何让第三个目标发生。当我搜索时,我看到了全球禁用此行为的建议,但不是针对特定按钮。

这是我到目前为止。

if(buttonIsDisabled) 
{ 
    var btnid ="#button"+index; 
    $(btnid).attr("disabled","disabled").fadeTo(500,0.2); 
} 

这成功地使按钮不可点击和淡出,但在Firefox和Chrome中,它仍然显示悬停时的手形图标。 IE8(我也必须支持)正确地禁用了手并显示了光标。

有关如何在Chrome和Firefox中强制执行IE行为的任何建议?

+1

你试过用CSS来设计它,例如'光标:default'? – j08691

+0

@ j08691我只希望动态地做这件事,但jQuery .css解决方案显然是有意义的。 –

+0

@Diodeus好点,我做了一些搜索,但搜索按钮特定的东西,没有看到“禁用链接”后。 –

回答

25

您可以将“光标”规则设置为“默认”值。在jQuery中,您可以使用css方法。

$(btnid).css("cursor", "default"); 

既然你已经使用了$(btnid),你可以链上的电话,就像这样:

$(btnid).attr("disabled","disabled").css("cursor", "default").fadeTo(500,0.2); 
+0

正是我想要的,谢谢! –

+0

会这样的工作太.css(“游标”,“指针!重要”); ?使用!important重写任何内容? –

+0

@KalaJ - 是的,它应该工作,但你应该这样做的唯一理由是如果你想覆盖覆盖。 jQuery中的css函数在匹配的dom元素的style属性中设置字段。这应该是默认情况下最高的特异性,因此不需要!重要,除非较低的特异性匹配规则也使用!重要。如果所有这些听起来都是非常珍贵的,那么一个好的经验法则就是谨慎地使用!请参阅http://css-tricks.com/specifics-on-css-specificity/和http://css-tricks.com/when-using-important-is-the-right-choice/ –

4

您还可以将cursor: default的样式设置为按钮。

4

您可以设置CSS这样的:

$(btnid) 
    .attr("disabled","disabled") 
    .css('cursor','default') 
    .fadeTo(500,0.2); 
相关问题