Пользовательский интерфейс Jquery TABS-3: предотвращение переключения (до ajaxcomplete / success): как? - PullRequest
0 голосов
/ 22 октября 2009

Я хочу запретить переключение вкладок, пока не завершится вызов Ajax. Есть ли способ добиться этого? Прямо сейчас (по умолчанию), когда я нажимаю на другую вкладку, она переключается на эту вкладку. Я хочу предотвратить это, пока вызов Ajax не будет успешным / завершенным. К вашему сведению: я использую плагин Jquery Tabs-3. Пожалуйста, помогите мне.

Ответы [ 3 ]

0 голосов
/ 22 октября 2009

Чтобы ответить на ваш комментарий,

$('#tabs > ul').bind('tabsselect', function(event, ui) {
    if(inAjaxRequest)
        return false;
    //Do whatever you're already doing here
    return true;
});
0 голосов
/ 23 октября 2009

Чтобы ответить на ваш другой комментарий (By saying "hold the control", I mean to say that when 'tabsselect' even is triggered, next event which is 'tabsshow' shouldn't be triggered until ajax request gets complete/succeed), вы не можете сделать это напрямую.

Однако вы можете отменить tabsselect, но сохранить индекс вкладки, на которую пользователь пытался перейти, в переменной. Затем, когда запрос AJAX завершится, проверьте, содержит ли переменная индекс вкладки (в случае, если пользователь не переключал вкладки), и, если это так, переключитесь на эту вкладку. Обязательно сбросьте переменную на случай, если позже вы сделаете еще один AJAX-запрос.

0 голосов
/ 22 октября 2009

Я предполагаю, что вы используете jQuery UI Tabs ; если вы этого не сделаете, пожалуйста, ссылку на то, что вы используете.

Если вы есть, вы можете отключить вкладку, вызвав .tabs('disable', index), когда вы начнете загрузку, и включить ее снова, вызвав .tabs('enable', index), когда вы закончите загрузку. Вы также можете передать массив индексов.

...