我嘗試添加類的點擊的元素只如何只有在這種情況下,增加點擊的元素類
但有時我看到正在選擇兩個項目,請你讓我知道如何解決這個
這是我的代碼
$(document).on('click', '.resp-tabs-list li', function(event){
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
我嘗試添加類的點擊的元素只如何只有在這種情況下,增加點擊的元素類
但有時我看到正在選擇兩個項目,請你讓我知道如何解決這個
這是我的代碼
$(document).on('click', '.resp-tabs-list li', function(event){
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
我想提出一個假設,當你在做快速說,「有時」會發生在您的LI之間點擊:
使用event.stopPropogation()
確保正確的樣式在您需要時發生。
$(document).on('click', '.resp-tabs-list li', function(event){
event.stopPropagation();
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
建議是委託事件到最近的靜態家長如果可能的話。因爲查找來自根的元素的時間,因此委託到document
是非常昂貴的。
每次事件都從文檔根開始,它會查找每個元素以查找特定的類名。
如果你沒有動感的元素,那麼你不需要有event delegation
可言:
$(staticParent).on('click', '.resp-tabs-list li', function(event) {
$(".resp-tabs-list li ").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
有時查找它往往是因爲事件委託和類名的使用緩慢。正如你所知ID選擇器要快得多所以你也可以使用它。
$(staticParentID).on('click', '#resp-tabs-list li', function(event) {
$("#resp-tabs-list li").removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
試試看看這個代碼。
$('.resp-tabs-list li').on('click',function(){
$(this).parent().children().removeClass('resp-tab-active');
$(this).addClass('resp-tab-active');
});
您的代碼正常工作。你說「有時」。你能告訴我們什麼是有時? –
無法重現。即使快速點擊。你能詳細說明什麼時候應該發生? –
好吧,點擊亞洲,然後點擊歐洲,你會看到他們都被顯示爲已分類 – Pawan