我正在使用jQuery UI Tabs。jQuery - 事件不會爲動態創建的選項卡元素觸發
<div id="tabs">
<ul id="tablist">
<li><a href="#fragment-1"><span>One</span></a></li>
</ul>
</div>
我有一個添加新選項卡的按鈕。我使用下面的代碼:
var newTabId = $('#tabs').tabs('option', 'selected') + 1;
$('#tabs').tabs("add",'someUrl.htm','New Tab',newTabId);
(Tab鍵將被旁邊的當前選擇的選項卡中添加)
現在沒有新添加的標籤觸發任何事件,如點擊或懸停
$('#tablist li').click(function(){
alert('test message');
});
但事件會爲初始源代碼中的選項卡正確觸發。
如何解決?
代表+1 – Giorgi 2010-04-01 11:42:07
@Matt,在這種情況下我無法讓代表爲我工作。它不適用於tablist上的li。但如果我創建一個在tablist之外的元素的委託,它可以正常工作......!任何想法?? – Amit 2010-04-01 12:41:30
@Amit:您應該將事件委託給執行'delegate'方法時在DOM中註冊的元素。它在#tabs上工作嗎? – Matt 2010-04-01 13:00:18