防止光标更改以手动禁用按钮

Ben*_*ick 17 javascript jquery button hover

可能重复:
jQuery mouseover一个禁用的链接,如何更改光标以使其不显示可点击?

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

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

我在前两个目标中取得了成功,但我不确定如何让第三个目标成为现实.当我搜索时,我看到了全局禁用此行为的建议,但没有针对特定按钮的建议.

这是我到目前为止所拥有的.

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

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

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

Set*_*ers 26

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

$(btnid).css("cursor", "default");
Run Code Online (Sandbox Code Playgroud)

由于您已经使用$(btnid),因此您可以将调用链接起来,如下所示:

$(btnid).attr("disabled","disabled").css("cursor", "default").fadeTo(500,0.2);
Run Code Online (Sandbox Code Playgroud)


Sha*_*ard 5

您还可以设置cursor: default按钮的样式.


A. *_*lff 5

你可以像这样设置css:

$(btnid)
  .attr("disabled","disabled")
  .css('cursor','default')
  .fadeTo(500,0.2);
Run Code Online (Sandbox Code Playgroud)