執行 JavaScript 的連結
只需使用 javascript:
協議將文字作為 JavaScript 執行,而不是將其作為普通連結開啟:
<a href="javascript:myFunction();">Run Code</a>
你還可以使用 onclick
屬性實現相同的功能:
<a href="#" onclick="myFunction(); return false;">Run Code</a>
當點選 #
的連結時,return false;
是防止頁面滾動到頂部所必需的。確保包含你之前要執行的所有程式碼,因為返回將停止執行更多程式碼。
另外值得注意的是,你可以在主題標籤後面新增感嘆號 !
,以防止頁面滾動到頂部。這是有效的,因為任何無效的 slug 都會導致連結無法在頁面上的任何位置滾動,因為它無法找到它引用的元素(帶有 id="!"
的元素)。你也可以使用任何無效的 slug(例如 #scrollsNowhere
)來達到同樣的效果。在這種情況下,return false;
不是必需的:
<a href="#!" onclick="myFunction();">Run Code</a>
你應該使用這些嗎?
答案几乎肯定是否定的。使用像這樣的元素內聯 JavaScript 執行是相當糟糕的做法。考慮使用純 JavaScript 解決方案來查詢頁面中的元素並將函式繫結到它。聽一個事件
還要考慮這個元素是否真的是一個按鈕而不是一個連結。如果是這樣,你應該使用
<button>
。