理工科论文AI痕迹怎么消?2026年五款工具实测打分
2026/8/16 16:56:31
结合着好未来秋招的一道面试题讲解一下 a 标签的跳转机制。
<ahref="https://www.baidu.com"onclick="window.open('https://www.csdn.net')">link</a>会同时打开两个页面:
https://www.csdn.nethttps://www.baidu.com注意!如果 href 的值为 baidu.com ,则会跳转到
http://127.0.0.1:5500/www.baidu.com(我这里用的 vscode 插件会开启一个 5500 端口的页面)
点击<a>触发onclick
执行 JS:
window.open('https://www.csdn.net')→ 打开新窗口(或新标签)
JS 执行完毕
浏览器继续执行a 标签的默认行为
href="https://www.baidu.com"JS 不会自动阻止默认行为
<ahref="https://www.baidu.com"onclick="return false">link</a>👉return false=
✔️preventDefault
✔️stopPropagation
<ahref="https://www.baidu.com"onclick="event.preventDefault()">link</a>a.onclick=null;或
a.removeEventListener('click',handler);onclick=()=>{}❌这样不会阻止 a 的默认跳转
<a>?框架(Vue / React)会:
但:
a vs button:
| 维度 | <a> | <button> |
|---|---|---|
| 语义 | 超链接(导航) | 操作按钮 |
| 是否原生跳转 | ✅ | ❌ |
| SEO | ✅ 可被爬虫识别 | ❌ |
| 右键新开 | ✅ | ❌ |
| 中键点击 | ✅ | ❌ |
| 无 JS 是否可用 | ✅ | ❌ |
| 可访问性 | ✅ 天生支持 | ⚠️ 需处理 |