我有一个带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);
}
答案 0 :(得分:0)
您需要使用 prop()而不是 attr()
设置已禁用的属性function disableLButton()
{
$(".carouselBtnLeft").prop("disabled",true);
}
请参阅此处获取API方法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,因为即使没有值,即使它没有值,也会被认为是真的..所以使用removeProp()来删除已禁用的属性