我希望在Ajax调用完成之前阻止选项卡切换。有什么方法可以做到这一点吗?现在(默认情况下)当我点击另一个选项卡时,它就会切换到那个选项卡。我希望在Ajax调用成功/完成之前防止这种情况发生。仅供参考:我正在使用Jquery Tabs-3插件。请帮帮我。
发布于 2009-10-23 03:07:06
我假设您正在使用jQuery UI Tabs;如果您没有,请链接到您正在使用的内容。
如果是,您可以在开始加载时通过调用.tabs('disable', index)禁用选项卡,并在完成加载后通过调用.tabs('enable', index)再次启用它。您还可以传递一个索引数组。
发布于 2009-10-23 03:39:26
为了回答你的评论,
$('#tabs > ul').bind('tabsselect', function(event, ui) {
if(inAjaxRequest)
return false;
//Do whatever you're already doing here
return true;
});发布于 2009-10-23 10:51:48
要回答你的另一个评论(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请求。
https://stackoverflow.com/questions/1609308
复制相似问题