2013-10-13 115 views
0

我有這樣的jQuery的標籤代碼: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> 

哪有我這樣做只有UL中的鏈接纔會受此jQuery代碼的影響?

+0

是否這樣? http://jsfiddle.net/HyNfJ/4/,因爲從小提琴,我不知道什麼問題是/ z – MackieeE

+0

因爲你的代碼工作正常,只需讓你的選擇li更具體像$(「#tabrow li「)。點擊(....)。 – melc

回答

0

嘗試...... $( 'a.something')上( 「點擊」,功能(E){ e.preventDefault(); }); });

它將禁用錨標記。

0

嘗試改變

$("li").click(

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

你的jQuery選擇是不夠具體。您需要定位單擊事件的定位標記,或使用.delegate而不是.click.bind)。 。