cli*_*way 7 jquery user-interface tabs
我尝试使用禁用标签导航
var $tabs = $("#tabs").tabs({
select: function(event, ui) { return false; }
});
Run Code Online (Sandbox Code Playgroud)
但是,这也会禁用我用于导航的流链接:
$('input.nexttab').click(function() {
var tab_num = $tabs.tabs('option', 'selected');
// error check this tab before proceeding
if ( check_tab(tab_num) ) {
$tabs.tabs('select', tab_num + 1 );
}
});
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要禁用当前选项卡右侧的选项卡的选项卡导航,并确保我的<<上一页和下一页>>选项卡导航按钮始终有效.
有什么建议?
您是否尝试将事件选项设置为不可能触发的事件(如果有的话)?
例如:
$('#tabs').tabs({ event: 'change' });
Run Code Online (Sandbox Code Playgroud)
要么
$('#tabs').tabs({ event: '' }); //probably better
Run Code Online (Sandbox Code Playgroud)
您应该在传递给的函数中的第一个闭包上存储一个标志,$(document).ready当单击下一个/上一个按钮时将其设置为 true,并在显示选项卡时设置回 false,通过这样做,您将只能使用按钮更改选项卡。
检查此工作示例和以下代码片段:
$(document).ready(function(){
var allowTabChange = false;
var $myTabs = $("#tabs");
$myTabs.tabs({
select: function(event, ui) { return allowTabChange; },
show: function(event, ui) { allowTabChange = false; },
});
$('#nextButton').click(function(){offsetTab(1);});
$('#prevButton').click(function(){offsetTab(-1);});
// Helper functions
function offsetTab(offset){
var tab_num = $myTabs.tabs('option', 'selected');
var nextTab = tab_num + offset;
if ( check_tab(nextTab) ) {
allowTabChange = true;
$myTabs.tabs('select', nextTab);
}
}
function check_tab(tab_num){
return tab_num >= 0 && tab_num < $myTabs.tabs('length');
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14181 次 |
| 最近记录: |