我一直在檢查一切,但似乎無法找到如何使show()事件只對特定選項卡作出反應?jQueryUI選項卡顯示()在特定的選項卡上?
我有以下標籤:
<div id='tabs' class='ui-tabs'>
<ul class='ui-tabs-nav'>
<li><a href='#tabs-1'>tab 1</a></li>
<li><a href='#tabs-2'>tab 2</a></li>
<li><a href='#tabs-3'>tab 3</a></li>
</ul>
<div id='tabs-1'></div>
<div id='tabs-2'></div>
<div id='tabs-3'></div>
</div>
,我想秀()事件只對顯示是否有可能ID 1. 反應? :)
我的JS是:
$(function() {
$('#tabs').tabs({
cookie: {expires: 1},
show: function(event, ui) {
$('#campaigns-attached').delegate('li', 'dblclick', function() { $('#campaigns-non-attached').append(this); var id = this.getAttribute('id'); campaignsAttachRemove(id); });
$('#campaigns-non-attached').delegate('li', 'dblclick', function() { $('#campaigns-attached').append(this); var id = this.getAttribute('id'); campaignsAttachThis(id); });
$('#users-attached').delegate('li', 'dblclick', function() { $('#users-non-attached').append(this); var id = this.getAttribute('id'); usersAttachRemove(id); });
$('#users-non-attached').delegate('li', 'dblclick', function() { $('#users-attached').append(this); var id = this.getAttribute('id'); usersAttachThis(id); });
}
}).disableSelection();
});
的usersAttachThis()和usersAttachRemove()是AJAX回調函數。 所以,如果我改變標籤,然後回到我需要委託()函數的選項卡,它會反應3次。
所以我要這樣說
if (tabSelected == "tabs-1") {
$('#users-attached').delegate('li', 'dblclick', function() { $('#users-non-attached').append(this); var id = this.getAttribute('id'); usersAttachRemove(id); });
$('#users-non-attached').delegate('li', 'dblclick', function() { $('#users-attached').append(this); var id = this.getAttribute('id'); usersAttachThis(id); });
}
OR,找到另一個要做到這一點,而不是委託()?
(請使用大寫字母i指自己而不是變量,謝謝!) – Arjan