0

我正在使用波尔图的自定义JQuery Bootstrap向导,我被要求使用 ,当使用链接时,它会在向导的相关选项卡上。如何将Javascript对象的所有属性放置到另一个对象中?

,我唯一需要的是从以下对象变量检索所有的属性:

$('#w3').bootstrapWizard({ 
    tabClass: 'wizard-steps', 
    nextSelector: 'ul.pager li.next', 
    previousSelector: 'ul.pager li.previous', 
    previousLinkSelector: 'ul.pager li.finish a.previous-link', 
    firstSelector: null, 
    lastSelector: null, 
    onNext: function (tab, navigation, index, newindex) { 
     var validated = $('#w3 form').valid(); 
     if (!validated) { 
      $w3validator.focusInvalid(); 
      return false; 
     } 
    }, 
    onTabClick: function (tab, navigation, index, newindex) { 
     if (newindex == index + 1) { 
      return this.onNext(tab, navigation, index, newindex); 
     } else if (newindex > index + 1) { 
      return false; 
     } else { 
      return true; 
     } 
    }, 
    onTabChange: function (tab, navigation, index, newindex) { 
     var $total = navigation.find('li').size() - 1; 
     $w3finish[newindex != $total ? 'addClass' : 'removeClass']('hidden'); 
     $('#w3').find(this.nextSelector)[newindex == $total ? 'addClass' : 'removeClass']('hidden'); 
    }, 
    onTabShow: function (tab, navigation, index) { 
     var $total = navigation.find('li').length - 1; 
     var $current = index; 
     var $percent = Math.floor(($current/$total) * 100); 
     $('#w3').find('.progress-indicator').css({ 'width': $percent + '%' }); 
     tab.prevAll().addClass('completed'); 
     tab.nextAll().removeClass('completed'); 
    } 
}); 

我需要把它放在一个全局变量,所以我可以使用所有属性 (尤其是onTabClick属性)。

我试着做以下方式:

var $mainSettings = $.fn.bootstrapWizard; 

的问题是,$ mainSettings仅包括函数声明。

什么是从$ .fn.bootstrapWizard获取所有属性的正确方法; ?

回答

0

它取决于这个jquery插件如何公开它接收到的配置。如果它不暴露这个,那么你的运气不好。但是,您可以将配置分配给一个变量并将该变量传递给jquery插件。

var $mainSettings = { 
    tabClass: 'wizard-steps', 
    nextSelector: 'ul.pager li.next', 
    previousSelector: 'ul.pager li.previous', 
    previousLinkSelector: 'ul.pager li.finish a.previous-link', 
    firstSelector: null, 
    lastSelector: null, 
    onNext: function (tab, navigation, index, newindex) { 
     var validated = $('#w3 form').valid(); 
     if (!validated) { 
      $w3validator.focusInvalid(); 
      return false; 
     } 
    }, 
    onTabClick: function (tab, navigation, index, newindex) { 
     if (newindex == index + 1) { 
      return this.onNext(tab, navigation, index, newindex); 
     } else if (newindex > index + 1) { 
      return false; 
     } else { 
      return true; 
     } 
    }, 
    onTabChange: function (tab, navigation, index, newindex) { 
     var $total = navigation.find('li').size() - 1; 
     $w3finish[newindex != $total ? 'addClass' : 'removeClass']('hidden'); 
     $('#w3').find(this.nextSelector)[newindex == $total ? 'addClass' : 'removeClass']('hidden'); 
    }, 
    onTabShow: function (tab, navigation, index) { 
     var $total = navigation.find('li').length - 1; 
     var $current = index; 
     var $percent = Math.floor(($current/$total) * 100); 
     $('#w3').find('.progress-indicator').css({ 'width': $percent + '%' }); 
     tab.prevAll().addClass('completed'); 
     tab.nextAll().removeClass('completed'); 
    } 
}; 

$('#w3').bootstrapWizard($mainSettings); 
相关问题