运行 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>
。