2013-08-04 88 views
1

我通過如何突出在列表電流/選擇的選項卡的其他例子衝浪工作中,邏輯是非常簡單的和直接的,這是選擇的選項卡的jquery不與附加元素

$('li').click(function(){  
$('li').not(this).removeClass('active').addClass('list'); 
}); 

然而新的元件,其餘通過jQuery的append方法追加沒有響應號召..只存在L1標籤可以被操縱..我不知道..

演示fiddle

回答

1

更改點擊事件,像這樣:

$(document).on('click', 'li', function(){  
    $('li').not(this).removeClass('active').addClass('list'); 
}); 

JSFiddle

+0

笑不工作 –

+0

謝謝它的工作,我的壞..應該這樣 $(document).on('click','li',function(){ $('li')。removeClass('active'); $(這個).addClass('active'); }); –

0

click將無法​​正常工作的動態添加的元素,只在分子在調用click時頁面上。

您需要使用on方法。

喜歡的東西:

$('ul').on('click','li',function(){//your logic here}) 
+1

我TRID的方法它不是工作壓力太大 – Hushme

+0

請注意,'on'已被應用到已經存在的頁面上的父元素,而不是李本身,看到我更新的答案 – Tomer

0

您需要再次運行的JavaScript代碼到Click事件綁定在新立標籤在追加之後。只需對代碼進行一些更改即可,並在追加操作後調用該代碼。

JS代碼:

function BindClickEvents() { 
    $('li').unbind('click').bind('click',function(){  
     $('li').not(this).removeClass('active').addClass('list'); 
    }); 
    } 

現在你需要任何附加操作後一次,然後再次呼籲承載車身此方法/文件準備好。需要解除綁定才能刪除先前可能觸發多次單擊事件的綁定。

0
$('ul#task-group').on('click','li',function(){ 
    // do something 
});