2013-10-13 2 views
0

Я это JQuery Tab Код:JQuery отключив якорь ссылки

$(function() { 
    $('#tabs div').hide(); // Hide divs 
    $('#tabs div:first').show(); // Show first div 
    $("li").click(function(e) { 
    e.preventDefault(); 
    $("li").removeClass("selected"); 
    $(this).addClass("selected"); 
    var currentTab = $(this.children).attr('href'); // Set currentTab to value of href attribute 
    $('#tabs div').hide(); // Hide all divs 
    $(currentTab).show(); // Show div with id equal to variable currentTab 
    return false; 
    }); 
}); 

Дело в том, что каждый раз, когда я нажимаю на якорь ссылки это «переключение» вкладки:

<div id="tabs"> 
<ul class="tabrow"> 
    <li class="selected"><a href="#tab-one">Contest</a></li> 
<li><a href="#tab-two">Prizes</a></li> 


</ul> 

<div id="tab-one" class="center"> 
</div> 
<div id="tab-two" class="center"> 
</div> 
</div> 

Как может Я делаю так, что этот код jQuery будет затронут только ссылки в UL?

+0

Нравится? http://jsfiddle.net/HyNfJ/4/, потому что из Fiddle я не уверен, что проблема/проблема: z – MackieeE

+0

Поскольку ваш код работает отлично, просто сделайте свой выбор более личным, например $ ("# tabrow li "). клик (....). – melc

ответ

0

Попробуйте это ... $ ('a.something') на ("клик", функция (е) { e.preventDefault(); }); });

Он отключит привязные метки.

0
$('ul.tabrow li a').click(function(e) { 
    var $li = $(this).parent(); 
    $li.removeClass('selected'); 
    // etc... 
}); 

Ваш селектор JQuery не достаточно конкретным. Вам нужно настроить таргетинг на якорный тег для события клика или использовать .delegate вместо .click (.bind). .

Смежные вопросы