我遇到了禁用和重新啓用鏈接上的點擊事件的問題。條件禁用/重新啓用jQuery點擊事件
該設置是連續4列,每列包含一個鏈接和隱藏的內容框。當您單擊鏈接時,它將展開該行並顯示特定於該列的內容框。一旦鏈接被點擊並且該行被展開,所有其他鏈接都將淡出。然後,您將重新點擊打開的鏈接關閉該行並取消淡入其他鏈接。
我設置這種情況下的工作小提琴,這應有助於解釋它...
$('.open-box').click(function(event) {
event.preventDefault();
var $list_row = $(this).parents('.row'),
$column_box = $(this).parent('.column').find('.box');
if ($(this).is('.open')) {
$(this).removeClass('open');
$list_row.stop().animate({ 'padding-bottom': 0 }, 100).removeClass('expanded');
// hide the content box
$column_box.hide();
// find all links and fade them in
$('.box-list').find('.box-link').fadeTo(100, 1).addClass('open-box');
} else {
$(this).addClass('open');
$list_row.stop().animate({ 'padding-bottom': 200 }, 100, function() {
// show the content box
$column_box.fadeIn(100);
}).addClass('expanded');
// find all links and fade them out
$('.box-list').find('.box-link').not(this).fadeTo(100, 0.25).removeClass('open-box');
}
});
我試圖做的是所有的褪禁用click事件將鏈接作爲唯一可點擊的鏈接。正如你所看到的,點擊淡出鏈接的行爲會讓整個事情變得糟糕。
我已經嘗試在打開操作(其他)上設置.off('click')
,它可以禁用點擊其他鏈接。並採取關閉行動.on('click')
。關閉操作運行後,其他鏈接仍不可點擊。
任何幫助解決這個問題將非常感激!
你可以只檢查不透明度:'如果($(本)的.css( '不透明')<1)回報;'http://jsfiddle.net/r8K78/4/ –
和輝煌很簡單!想把它作爲答案,以便我可以接受? –