jQuery UI选项卡禁用选项卡导航

jQuery UI选项卡禁用选项卡导航,jquery,user-interface,tabs,Jquery,User Interface,Tabs,我尝试使用禁用选项卡导航 var $tabs = $("#tabs").tabs({ select: function(event, ui) { return false; } }); 但是,这也会禁用我用于导航的流链接: $('input.nexttab').click(function() { var tab_num = $tabs.tabs('option', 'selected'); // error check this tab before proceedi

我尝试使用禁用选项卡导航

var $tabs = $("#tabs").tabs({
    select: function(event, ui) { return false; }
});
但是,这也会禁用我用于导航的流链接:

$('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 );
    }
});
理想情况下,我希望对当前选项卡右侧的选项卡禁用选项卡导航,并确保我的选项卡导航按钮始终有效


有什么建议吗?

您应该在传递给$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'); 
  } 
});

你有没有试过把这个设置成一些根本不可能被解雇的事情

例如:

$('#tabs').tabs({ event: 'change' });


嗯,看起来有点混乱-我希望有一个简单的程序可以轻松地从选项卡中添加/删除事件处理程序。只要上一个/下一个链接能够简化逻辑,我就可以接受所有选项卡都被禁用的情况。在.ui选项卡nav class元素上使用选择器并删除单击事件?这行吗?+1将其设置为onchange可以正常工作,但空则不行。很可能tab控件无论如何都不会触发onchange。
$('#tabs').tabs({ event: '' }); //probably better