2013-06-23 81 views
0

下面的代碼將一個類添加到一個名爲'shift'的DIV中。使用addClass時不會觸發Jquery類選擇器

$('.adminopen').click(function(){ 
     $('.backoffice').addClass('open'); 
     $('.maincontent').addClass('shift') 
     return false 
    }); 

一旦該類已加入爲什麼下一個腳本也包含初始文件準備部分不會觸發。

$('.shift').click(function(){ 
     $('.backoffice').removeClass('open'); 
     $('.maincontent').removeClass('shift'); 
    }); 

回答

1

這是因爲轉變是不存在的DOM當你綁定事件轉移

您需要使用事件代表團 -

$(document).on('click','.shift',function(){ 
     $('.backoffice').removeClass('open'); 
     $('.maincontent').removeClass('shift'); 
}); 
3

因爲你只綁定到初始元素。使用代表團on

$(document.body).on('click', '.shift', function(){ 
0

要麼使用事件代表團如上所述,或者在分配類時綁定事件手柄。

function bindShift() { 
    $('.shift').click(function() { 
     $('.backoffice').removeClass('open'); 
     $('.maincontent').removeClass('shift'); 
    }); 
} 

$('.adminopen').click(function() { 
    $('.backoffice').addClass('open'); 
    $('.maincontent').addClass('shift'); 
    bindShift(); 
    return false 
}); 
相關問題