📜  href 后页 javascript (1)

📅  最后修改于: 2023-12-03 15:01:09.365000             🧑  作者: Mango

JavaScript代码片段不能直接写在 href 属性内

在 HTML 中,可以使用 <a> 标签来创建链接,其中的 href 属性值通常可以是指向一个 URL 地址。

有时候,我们想要在链接被点击时执行一个 JavaScript 函数,这时很多人会尝试在 href 属性中写 JavaScript 代码片段,如下所示:

<a href="javascript:alert('Hello, world!')">点击我</a>

然而,这种写法有很多问题,比如:

  • 老版本的 Internet Explorer 浏览器可能会将 javascript: 当作一个错误的协议来处理,导致无法执行 JavaScript 代码;
  • 许多浏览器的安全策略会拒绝执行这种写法的 JavaScript 代码;
  • 对于使用屏幕阅读器等辅助技术的用户来说,这种写法的链接可能无法被正确理解。

因此,推荐的做法是使用 onclick 事件绑定来实现点击时执行 JavaScript 函数,或者在 href 属性中指定一个合法的 URL 地址,在 JavaScript 代码中通过 event.preventDefault() 阻止链接的默认行为。

示例代码:

<a href="#" onclick="alert('Hello, world!'); return false;">点击我</a>

其中,# 表示当前页面的锚点,因此点击链接时,页面不会刷新或跳转,而是执行 alert('Hello, world!') 函数。

另外,在使用 onclick 事件时,应当将 JavaScript 代码放在单独的外部文件中,并通过 <script> 标签引入,以便在多个页面共享和缓存该代码。

参考链接: