在我們的頁面中,我們有一大堆錨點標籤,我們動態地附加點擊處理程序。在這種情況下,最好的辦法是在標記中保留錨標籤?好的方法來保持沒有默認網址的錨標記
目前我們有
<a href="javascript:void(0);" >....</a>
我們需要HREF空值作爲他們中的一些可能不會得到重視與點擊處理程序。
在我們的頁面中,我們有一大堆錨點標籤,我們動態地附加點擊處理程序。在這種情況下,最好的辦法是在標記中保留錨標籤?好的方法來保持沒有默認網址的錨標記
目前我們有
<a href="javascript:void(0);" >....</a>
我們需要HREF空值作爲他們中的一些可能不會得到重視與點擊處理程序。
Ommit中的href屬性和分配的onclick時也設置光標將元素的樣式指向「指針」,否則禁用JS的用戶會在點擊元素時感到困惑,並且什麼都不會發生。
比較與href和沒有href錨點,是光標:指針風格唯一的區別?在我看來,收到了href,不知道它在不同瀏覽器中的表現如何。 – ChrisOdney 2012-01-05 15:21:30
在這種特殊情況下我沒有看到任何區別,你只使用href-attribute來獲得特殊的光標,這可以使用CSS來完成(事實上,你不需要使用'-lelement'可以是任何元素) – 2012-01-05 22:15:42
從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
http://stackoverflow.com/questions/1357118/javascript-event-preventdefault-vs-return-false – 2012-01-05 06:31:20
@rfausak - 謝謝 - 添加到我的答案 – 2012-01-05 06:49:13
的簡單的代碼會是這樣的:
<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
});
});
絕對_best_東西放在href屬性將明顯是一個執行JS事件處理程序所執行的相同操作的URL。編輯:如果這是不可能的,然後使用#。 – powerbuoy 2012-01-05 06:16:48
當有人點擊它時,使用#是一個問題。 – ChrisOdney 2012-01-05 15:18:33
那麼你必須通過從事件處理程序返回false或使用事件對象的'preventDefault()'方法來阻止鏈接的默認行爲。 – powerbuoy 2012-01-05 18:03:26