2012-01-05 30 views
1

在我們的頁面中,我們有一大堆錨點標籤,我們動態地附加點擊處理程序。在這種情況下,最好的辦法是在標記中保留錨標籤?好的方法來保持沒有默認網址的錨標記

目前我們有

<a href="javascript:void(0);" >....</a> 

我們需要HREF空值作爲他們中的一些可能不會得到重視與點擊處理程序。

+0

絕對_best_東西放在href屬性將明顯是一個執行JS事件處理程序所執行的相同操作的URL。編輯:如果這是不可能的,然後使用#。 – powerbuoy 2012-01-05 06:16:48

+0

當有人點擊它時,使用#是一個問題。 – ChrisOdney 2012-01-05 15:18:33

+1

那麼你必須通過從事件處理程序返回false或使用事件對象的'preventDefault()'方法來阻止鏈接的默認行爲。 – powerbuoy 2012-01-05 18:03:26

回答

0

Ommit中的href屬性和分配的onclick時也設置光標將元素的樣式指向「指針」,否則禁用JS的用戶會在點擊元素時感到困惑,並且什麼都不會發生。

+0

比較與href和沒有href錨點,是光標:指針風格唯一的區別?在我看來,收到了href,不知道它在不同瀏覽器中的表現如何。 – ChrisOdney 2012-01-05 15:21:30

+0

在這種特殊情況下我沒有看到任何區別,你只使用href-attribute來獲得特殊的光標,這可以使用CSS來完成(事實上,你不需要使用'-lelement'可以是任何元素) – 2012-01-05 22:15:42

1

從jQuery事件處理函數返回false將阻止默認行爲。沒有必要混淆href屬性(儘管這不會造成傷害)。

$(document).on("click", "a.yourSelector", function(){ 
    //your code 

    return false; 
}); 

當然還是jQuery的預1.7

$(document).delegate("a.yourSelector", "click", function(){ 
    //your code 

    return false; 
}); 

欲瞭解更多有關取消DOM事件,看到this question (and answer)this link

+0

http://stackoverflow.com/questions/1357118/javascript-event-preventdefault-vs-return-false – 2012-01-05 06:31:20

+0

@rfausak - 謝謝 - 添加到我的答案 – 2012-01-05 06:49:13

0

的簡單的代碼會是這樣的:

<a href='#' class='do-stuff'>Link</a> 

的「#」號保持HTML代碼簡潔,易讀

jQuery(document).ready(function() { 

    jQuery(".do-stuff").click(function() { 
    alert("clicked"); 
    return false; // disables default link action 
    }); 

}); 
相關問題