2013-10-26 149 views
0

我是一名平面設計師。所以我的代碼知識幾乎包含了我需要爲自己完成的事情。我第一次不得不發佈一個問題。但是我一直在尋找和測試大約5個小時,並且完全錯過了我有限的知識。我確信這很簡單,我錯過了一些東西。我的開發網站在這裏http://www.heybuddy.tv/temp/dev/005.html禁用切換的鏈接

我遇到的問題是導航鏈接。我有jquery切換設計和攝影之間的東西,但我不知道如何禁用活動的鏈接。我不知道它是IF/ELSE類型的聲明,還是它的javascript onmouseover事件。或者即使我的基本方法是完全錯誤的。我無法找到一個示例網站來看,所有的谷歌搜索沒有爲我做任何事情與我的搜索條件。我絕望而沮喪。抱歉,如果這不是顯示問題的「最佳實踐」。我新來請求幫助。

+1

你可以把一些代碼,使你的問題?也許只是簡單的HTML和你已經嘗試或目前正在使用特定於這個問題或那些鏈接的JS?此外 - 你什麼時候試圖禁用它們?總是或在某個事件上......? (是的,我只是看着,不知道爲什麼一切都是彈跳上下或你想要或不想要的) –

+0

這個問題有一些想法:http://stackoverflow.com/questions/5376444/how-do -i-disable-a-href-link-in-javascript –

+0

所以我看了看頁面。當我在一個鏈接上點擊多次(如攝影)時,所有內容都會在頁面上下移動。個人...我會清除所有的JS/JQuery,並獲得簡單的行爲(禁用),以一致工作,然後添加更難的東西(移動的東西)。你可以嘗試......將當前頁面存儲在一個JS變量中,並在每次點擊時檢查它...如果鏈接<>當前然後做一些事情,否則什麼都不做。 –

回答

0

但我不知道如何禁用活動的鏈接。

,如果這是你的問題,你的情況我可以改成 攝影禁用或設計未激活狀態的物品類別看。 在jQuery中,你可以做那麼:

$(document).ready(function(){ 
    $('#navbar .nav-text a[class*="disabled"]').on('click', function(){ 
     return false; 
    }); 
}); 
0

這將有助於更具體一點,但我總是向下,以幫助新手。

有很多方法來禁用使用jQuery和JavaScript的鏈接。你想要做的是訪問被禁用的屬性(例如,禁用='禁用'/禁用=「真」/只是在你的代碼中禁用舊的)。

jQuery的解決方案

首先,如果你要動態地改變,當用戶點擊鏈接後會發生什麼,你將需要使用JavaScript鏈接,調用一個JavaScript函數的鏈接,當你點擊它。

<a id="myId" name="myName" href="javascript:void(0)" onClick="function()">BlahBlah</a> 

接下來,您可以使用以下方式在頁面加載上運行任何操作,並且需要這樣做才能立即禁用鏈接和我的代碼。

$(document).ready(function() { 
    //code and function calls go here 
}); 

否則,可以使用jquery或javascript來簡單地更改DOM元素(文檔元素)。在下面的格式;

要明白,你爲什麼用這種方法,閱讀this

您可以參考使用其標籤的鏈接屬性(例如等一,DIV)。 ( '標記')的事件(函數(){});要訪問特定的鏈接,你需要給它一個ID。格式將變爲('#id')。event(function(){});

您正在尋找的東西看起來像下面的代碼。

$('a').click(function(){return false}); 

您可能還在尋找過濾您的鏈接請求。

$('a').click(function(){return ($(this).attr('disabled')) ? false : true;}); 

該代碼使用turnary運算符((條件)執行,如果真:?否則,如果假執行)和一個return語句來改變一個點擊的狀態。

如果你想添加鏈接到一個列表,所以你可以跟蹤點擊什麼,這是可能的。這樣,如果您在點擊後禁用,則可以跟蹤已禁用的內容。下面的代碼可以被用來啓用或禁用特定的頁面部分,但是javaScript總是打開進行注入或抓取。在這種情況下最好使用服務器端腳本。這主要是讓你瞭解正在發生的事情。

var disabled=[] 
... 
$('a').click(function(){ 
    var isSet=$(this).attr('disabled'); 

    if(isSet==false) 
    { 
     disabled.push(event.target.id); 
    } 

    return false; 
}); 

要禁用負載只需添加一個onload標記你的腳本應該是在爲便於代碼的閱讀和安全.js文件。

更多信息,請點擊這裏disable a hyperlink using jQuery

JavaScript解決方案之

您可以通過使用標籤名稱訪問的所有環節上的DOM(如XML),然後設置更改鏈接狀態禁用屬性。

var list=document.getElementsByTagName("a"); 

for(var i=0;i<list.length;i++) 
{ 
    list[i].disabled='disabled'; 
} 

此代碼訪問所有鏈接,並使用for循環使用disable屬性禁用它們。

如果您希望禁用某個特定鏈接,請使用通過其Id訪問元素的以下內容。 document.getElementById(「id」)。disabled ='disabled';

要renable所有鏈接:

var links=document.getElementsByTagName("a"); 

for(var i=0;i<links.length;i++) 
{ 
    links[i].removeAttribute("disabled"); 
} 
+0

有沒有機會找到你要找的東西? –