我正在使用YUI TabView 小部件来添加和删除标签,如yuilibrary-tabview-add-remove 中所述。
我注意到一个“错误”或者可能只是缺少一个功能:当您关闭所有选项卡然后添加新选项卡时,“添加选项卡”按钮将卡在选项卡栏的左侧,所有新选项卡都会在右侧排序。如果您不关闭所有选项卡,则无论如何该按钮将始终位于右侧。
现在,我添加了一个解决方法:添加新选项卡时,将检测到无选项卡状态并使用jQuery after() 方法对 DOM li-item 进行排序。最后,将选择新添加的选项卡:
onAddClick : function(e) {
e.stopPropagation();
var tabview = this.get('host'), input = this.getTabInput();
tabview.add(input, input.index);
// When previously no tabs present, move 'add button' to end after adding a new tab
if ( tabview.size() == 1) {
var addTabButton = $('#addTabButton');
addTabButton.next().after(addTabButton);
tabview.selectChild(0);
};
}
但是,我对这个解决方案不满意。是否有更优雅的方法来解决这个问题?