2014-04-13 76 views
0

我想知道是否有辦法讓最後一個div不可點擊。我有10個div,所有這些都是可點擊的。正如你所看到的,他們正在淡入,但我希望最後一個div淡入,如果點擊就做點什麼。不過,我想分開最後一個div,並讓它做別的。有什麼辦法讓最後一個div不可點擊

$(".questions").children().hide(); 
$(" div.questions > div:nth-child("+history[get_number]+")").fadeIn(); 

要說清楚。我有問題,每當我們回答問題並轉到下一個問題時,它都會添加div。所以這段代碼將繼續顯示所有的div。但我希望最後一個div不要繼續。

+0

什麼是您的HTML? –

+0

怎麼樣:最後一個孩子? – ascx

+0

嗯,我已經做了代碼,所以它繼續在所有的divs,但它是否有辦法做的代碼是除了最後的所有div進行? – user3478007

回答

1

@ user6186答案應該有效。另一種方法是把測試的單擊事件:

$(function(){ 
    $(document).on('click', '.questions > div', function(){ 
     if($(this).is(':last-child')){ 
      alert('Last Question'); 
     } else { 
      alert('Regular Question'); 
     } 
    }); 
}); 

然而,你可能要考慮增加一個「最後的問題」級到最終DIV服務器端來代替。

2

是否這樣?

$("div.questions > div:last").unbind('click'); 

如果您使用on(),那麼你可以做$("div.questions > div:last").off('click');

1

試試這個:

要將點擊監聽器添加到所有div除了最後一個:

$(document).on('click', '.questions > div:not(:last-child)', function(){ 
    alert('Regular Question'); 
}); 

將點擊監聽器添加到最後一個div

$(document).on('click', '.questions > div:last-child', function(){ 
    alert('Specific Question'); 
}); 
+0

第一個代碼將執行此警報('常規問題');在除最後一個之外的所有div上? – user3478007

+0

是的,這是真的,如果你想要所有的div都做同樣的事情,只需在常規操作旁邊添加一個特定的動作,只需刪除':not(:last-child)' – user6186

+0

最後一個會在最後一個代碼上進行其他操作? – user3478007

相關問題