0

我有一个带有 3 个窗格的旋转木马。首次加载页面时,我希望禁用左按钮,以便用户可以向后循环浏览窗格。

我有一个工作 diableButton 功能:

function disableLButton()
{
    $(".carouselBtnLeft").attr("disabled",true);
}

当我返回第一个窗格时调用它时,它工作正常。

我不希望它在程序首次运行时也被禁用,我尝试使用 firstRun bool 简单地调用该函数,但它不起作用:

var firstRun = true;

if(firstRun == true)
{
    disableLButton();
    firstRun=false; 
}

我敢肯定有一个令人作呕的简单解决方案......

解决了:

我在正文中添加了一个加载函数:

<body onload="load()">

然后在加载函数中:

function load()
{
    disableLButton(true);
}
4

1 回答 1

0

您需要使用prop()而不是attr()设置 disabled 属性

function disableLButton()
{
     $(".carouselBtnLeft").prop("disabled",true);
}

有关 API 方法 prop() 的信息,请参见此处

http://api.jquery.com/prop/

属性和属性之间的区别在特定情况下可能很重要。在 jQuery 1.6 之前,.attr() 方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致。从 jQuery 1.6 开始,.prop() 方法提供了一种显式检索属性值的方法,而 .attr() 检索属性。

disabled 属性被视为布尔属性:

http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2

并且不要忘记在删除 disabled 属性时使用这个:

 $(".carouselBtnLeft").removeProp("disabled");

您不要将其设置为 false,因为即使存在 disabled 属性,即使它没有值也会被视为 true .. 所以使用 removeProp() 删除 disabled 属性

于 2013-10-25T14:26:48.860 回答