2012-02-16 35 views
4

我通常必須將JavaScript函數綁定到錨定點擊事件。這很容易使用jQuery或onclick內聯屬性。什麼是JavaScript錨標籤的正確href值?

但是,我的問題是,我從來不知道什麼是最好的的方式,讓href空是

例如:

  1. <a href="javascript:void(0)"> - 這似乎有點像太多的代碼只是爲空
  2. <a href=#> - 如果我不想要移動到另一頁,我必須回到 假JavaScript調用
  3. <a href> - 這個選項打破了 光標和懸停風格和瀏覽器不顯示其作爲鏈接
  4. <a> - 同上

什麼是空錨的最佳href價值?我沒有興趣保持沒有JavaScript的功能

+0

的可能重複的[: 「#」 或HREF爲JavaScript鏈接? 「的javascript:無效(0)」](http://stackoverflow.com/questions/134845/href-for-javascript-links-or-javascriptvoid0 ) – JJJ 2012-02-16 14:09:22

+0

我的投票是在4 – 2012-02-16 14:10:00

+0

參見:http://stackoverflow.com/questions/4842953/or-javascriptvoid0 – 2012-02-16 14:18:48

回答

3

的權利之一是用一個空a元素href屬性和click事件在Javascript綁定。

對於不顯眼的設計,您應該有一個href屬性具有適當的鏈接(以便沒有Javascript的用戶仍然可以使用該網站)並刪除Javascript中的屬性,從而綁定click事件。

如果您僅僅使用a元素作爲綁定click事件的目標,請考慮使用divspan來代替。

+0

這就是如果點擊做導航(如.ajax)。這並非總是如此。 – 2012-02-16 14:17:43

+0

根據功能的不同,使用「按鈕」可能更加合適。 – 2012-02-16 14:20:34

+0

這真的很容易理解,因爲按鈕通常依賴於瀏覽器和操作系統,並且幾乎沒有風格。 – 2012-02-16 14:24:53

1

只是不要使用A元素。你也可以讓DIV可點擊或任何其他元素。

或者您也可以簡單地將href屬性留出,就像這樣。

<a onclick="myFunction();">dasd</a> 

如果你也想看看它像一個鏈接,把這個CSS:

a { 
    text-decoration: underline; 
    color: blue;  
}​ 
+2

如果您省略'href',則不會將其呈現爲鏈接。 – 2012-02-16 14:17:08

+0

你是什麼意思,這不是事實。元素仍遵守所有的CSS規則。 – 2012-02-16 14:18:52

+0

這就是我的意思:http://jsfiddle.net/vtf27/ – 2012-02-16 14:19:52

0

我覺得

<a href="javascript:;"></a> 

<a href="javascript:void;"></a> 

是指示空錨的最佳途徑。

<a href="#someId"></a> 

將在頁面移動到具有ID = 「someId」

1

的DOM元素我個人堅定的相信,在使用JavaScript 擴展的功能,而不是替代。就這樣說,我留下的錨點指向我真的只是用javascript執行的動作的「安全」後退。簡單地說:

<a href="https://stackoverflow.com/users/create" class="user-create"></a> 

然後,補充(並返回false)如果JavaScript是能夠成功加載並綁定到該元素,否則仍然爲用戶提供完成任務,如果他們沒有JavaScript的能力(要麼通過插件封鎖,要麼只是沒有加載)。

+0

這就是如果點擊做導航(如.ajax)。這並非總是如此。 – 2012-02-16 14:13:43

+0

@RokKralj:除了UI轉換之外,我不同意。您可以執行的任何其他點擊完全可以接受在頁面轉換中執行(不是很漂亮,當然,但可能)。 - 後續行動:想想你可以在SO上執行的每一個行動:評論,投票,標記等等。所有事情都可以通過跟進另一個頁面來完成。這將是醜陋的(按照今天的標準),但是可行的(他們是如何在90年代做它)?例外將是「添加評論」和類似顯示/隱藏內容,但沒有JavaScript,你只需保持它在一直。 – 2012-02-16 14:20:09

0

這一切都取決於。如果你點擊一個錨點打開頁面上的面板,然後我很高興使用選項2,但只有當我插入該錨與JavaScript。

然後這意味着與JavaScript禁用錨不顯示和麪板應該是可見的。

如果鏈接中斷的地方,那麼你需要一個像布拉德·克里斯蒂和ODID實際的鏈接地址說。

0

<a href=#>ABC</a>

=>以上鍊路它將設置在地址欄URL的點擊,這使得文件的閃爍或復位滾動位置

以避免上述問題, <a href=# onclick="return false" >abc</a> 可以使用和綁定事件處理程序像往常一樣使用jQuery 或者您可以在onclick上執行任何返回false值的函數。

相關問題