Я проверял все, но, кажется, не могу найти, как заставить событие show () реагировать только на определенную вкладку?
У меня есть следующая вкладка:
<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>
И я хочу, чтобы событие show () реагировало только на показ идентификатора 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); });
}
ИЛИ, найти другой, чтобы сделать это, вместо делегата ()?