是否有一個會影響以任何方式的頁面表現什麼的onclick和HREF =「JavaScript之間的差異:函數名
1 : <a href="javascript:MyFunction()">Link1</a>
和
2 : <a href="#" onclick="MyFunction()">Link2</a>
之間有什麼區別?
是否有一個會影響以任何方式的頁面表現什麼的onclick和HREF =「JavaScript之間的差異:函數名
1 : <a href="javascript:MyFunction()">Link1</a>
和
2 : <a href="#" onclick="MyFunction()">Link2</a>
之間有什麼區別?
如果您的元素實際上不應該將用戶鏈接到某個位置,那麼不會使其成爲錨點元素。如果您使用<a>
標籤只是爲了獲取下劃線/光標更改 - 不要。改爲在<span>
(或其他元素)上使用CSS。
span.link {
text-decoration: underline;
color: blue;
cursor: pointer;
}
保持你的HTML語義,只有當你想給用戶連接的地方使用錨元素。
沒有性能上的差異。
首先是廢話,因爲它對於未啓用JS的用戶將完全失敗。
第二個仍然是廢話,但如果href
指向未啓用JS的用戶的URL會更好。
功能上有區別,第一個不會嘗試處理鏈接。第二個呢。
但是,我同意Coronatus--兩種方法都不理想。我會建議研究不引人注意的JavaScript(可能與jQuery),因爲您可以動態地將單擊事件添加到元素。
onclick版本允許您將「this」作爲參數傳遞,因此您可以返回到點擊來自的標記/對象。不可能的協議方法:
<a href="#" onclick="alert(this.innerHTML)">yo yo yo</a>
會吐出一個警報彈出與「呦呦呦」,而
<a href="javascript:alert(this.innerHTML)">yo yo yo</a>
會吐出「未定義」。
安裝href =「javascript:doSomething」意味着如果用戶沒有啓用js,則沒有可以回退的url。因此,通常認爲設置href =「something.html」和onclick =「return doSomething()」更好,因爲如果js被禁用,您可以導航到新頁面,但是如果啓用了js,則可以返回爲了防止導航到鏈接並在不刷新頁面的情況下在同一頁面中顯示某些內容,則爲false。
更好的是,不要添加onclick內聯,只需在頁面加載時添加js處理程序。這是不顯眼的方式
如果您的網站需要使用Javascript才能正常運行,那麼在href中的Javascript是最好的,因爲它顯示狀態欄中的鏈接並保持代碼緊湊。在HREF中也提供沒有鼠標的鍵盤導航。如果您的網站需要在沒有Javascript的情況下運行,那麼您必須使用onclick,以便href可以在其中包含鏈接。在單獨的Javascript文件中添加操作無法使代碼&緊密地綁定在一起。
http://stackoverflow.com/questions/1070760/javascript-function-in-href-vs-onclick的可能重複 – kennytm 2010-04-05 16:03:22