2012-06-25 38 views
1

禁用的href我有在禁止通過的jQuery的href鏈接的困難。我正在使用我修改的這種方法。有些人可以建議或幫助我弄清楚這一點嗎? 謝謝。與jQuery/JS

的jQuery/JS

<script> 
$('.next-tab').click(function() { 
    $('.st_tab_active').attr('disabled','disabled'); 
    var tab= $('.st_tab_active').parent().next().children('a'); 
    tab.removeAttr('disabled'); 
    tab.trigger('click'); 
    return false; 
     }); 
</script> 

HTML

<ul class="st_tabs"> 
    <li><a href="#st_content_1" class="st_tab" disabled="disabled">Horizontal Tab #1</a></li> 
    <li><a href="#st_content_2" class="st_tab" disabled="disabled">Horizontal Tab #2</a></li> 
    <li><a href="#st_content_3" class="st_tab" disabled="disabled">Horizontal Tab #3</a></li> 
    <li><a href="#st_content_4" class="st_tab" disabled="disabled">Horizontal Tab #4</a></li> 
    <li><a href="#st_content_5" class="st_tab" disabled="disabled">Horizontal Tab #5</a></li> 
</ul> 
+0

你沒有});在點擊功能的末尾。這是複製過程中的錯誤還是原始代碼中的錯誤?如果後者我會發布它作爲答案。 – ClarkeyBoy

+0

另請參閱下面的ahrens回答 - 我相信這是在某些瀏覽器中需要的。 – ClarkeyBoy

+0

還,我相信該屬性「禁用」只對輸入字段定義僅供參考,一些瀏覽器可以顯示與像「灰色」屬性等元素,但是這可能不是跨瀏覽器 – Rodolfo

回答

4

您可以使用preventDefault();禁用鏈接的默認行爲(這是導航到給定的href)。

$("a").click(function(e){ 
    e.preventDefault(); 
}); 
1

有兩種方法可以使用,無論是阻止默認動作或一個簡單的返回FALSE。

$('a').click(function(event) 
{ 
    event.preventDefault(); 

    // Rest of the code 

    return false; 
}); 
1

如ahren曾表示,是要走的路,但爲了不禁止在網站上使用的每HREF:
$('a.st_tab').click(function(e){
e.preventDefault();
});

3

一切答案看起來可能解決方案

這裏是關於在錨標籤上使用殘疾財產的討論

Should the HTML Anchor Tag Honor the Disabled Attribute?

更好,不使用禁用的屬性,它的種類非法的;)

現在你有

event.preventDefault(); 

return false; 

這裏是關於利用的討論兩者

event.preventDefault() vs. return false

您的情況下,它看起來像假的回報是好的,你不希望冒泡爲好。

一個解決您的具體問題,不能說因爲你還沒有解釋sitation好,

看起來像你想被點擊了一些「下一個標籤」時,與某些啓用/禁用標籤來切換標籤。 如果你能解釋一下,此外,我們將竭誠爲