0

昨天我尝试使用跟随

$(document).ready(function() {
        var tabs = $("#container-1").tabs();
            var tabCounter = 1;

        $('#add_tab').click( function(){
            var ul = tabs.find( "ul" );
            $( "<li><a href='#fragment-4'>Call Detials</a></li>" ).appendTo( ul );
            tabs.tabs( "refresh" );
            tabs.tabs('select', 1);
            tabs.append( $('#fragment-4'));
        });
  });

但是使用上面的代码,当 onclick 事件触发生成一个新选项卡时,我不想要多个相同的选项卡,所以如果已经添加了相同的选项卡,我想避免添加。如果已经添加,请建议我避免使用相同的标签的任何条件?

4

2 回答 2

1

您可以保持一切不变,但更改为.one 事件处理程序,它会在一次调用后取消绑定事件

$(document).ready(function() {
    var tabs = $("#container-1").tabs();
        var tabCounter = 1;

    $('#add_tab').one('click', function(){
        var ul = tabs.find( "ul" );
        $( "<li><a href='#fragment-4'>Call Detials</a></li>" ).appendTo( ul );
        tabs.tabs( "refresh" );
        tabs.tabs('select', 1);
        tabs.append( $('#fragment-4'));
    });
});
于 2013-07-10T04:43:09.710 回答
0

尝试这个,

$('#add_tab').click( function(){
    var ul = tabs.find( "ul" );
    var flag=true;
    $(ul).find('li').each(function(){
        if($(this).text()=='Call Detials')
        {
            // to prevent from creating a new tab under ul
            flag=false;
        }
    });
    if(flag)//if true then create the tab Call Details
    {
        $( "<li><a href='#fragment-4'>Call Detials</a></li>" ).appendTo( ul );
        tabs.tabs( "refresh" );
        tabs.tabs('select', 1);
        tabs.append( $('#fragment-4'));
    }
});
于 2013-07-10T04:38:03.310 回答