我有一個jQuery手機頁面,其中包含許多用作按鈕的圖像。動態點擊事件未觸發
最初加載頁面時,所有圖像都有一類「不活動」。 如果我點擊其中一個按鈕,它的類將變爲「活動」,其他所有按鈕從「非活動」變爲「禁用」。如果我離開頁面並直接導航,則1圖像仍然有一類爲「活動」,其餘的仍有一類爲「禁用」。
當我單擊活動按鈕時,它將類從「活動」更改爲「非活動」,並且所有其他按鈕都將類從「禁用」更改爲「不活動」。 這使我可以選擇另一個按鈕作爲活動按鈕。
當我點擊之前被禁用但現在處於非活動狀態的按鈕之一時,點擊事件不會觸發。就好像它認爲該類仍然是禁用的,因爲它最初加載頁面時就是這樣。我已經在Firefox中使用Firebug進行了檢查,並且該類已正確設置爲非活動狀態,但仍然表現得好像該類已禁用。
這裏是我的jQuery:
$(document).ready(function() {
$('.inactive, .active').on("click", function(){
// Toggle active/inactive class
$(this).toggleClass("active inactive");
// Disable if 1 active button, else inactive
if($('.active').length == 1) {
$('.inactive').toggleClass("inactive disabled");
} else {
$('.disabled').toggleClass("disabled inactive");
}
});
});
和HTML按鈕:
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a><br />
<a class="button inactive"></a>
及其類別:
.button {
background:url("../images/compare.png") no-repeat;
width: 18px;
height:18px
}
.active {
background-position: 0 -18px;
cursor:pointer
}
.inactive {
background-position: 0 0;
cursor:pointer
}
.disabled {
background-position: 0 -36px;
cursor:default
}