用户点击链接时执行功能的最佳方法是什么?

ple*_*ong 12 javascript event-handling javascript-events

根据我的经验,我知道当用户点击链接时执行Javascript功能的三种不同方式

  1. 使用onclick链接上的属性

    <a href="#" onclick="myfunction();return false;">click me</a>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用href链接上的

    <a href="javascript:myfunction();">click me</a>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 不要触摸链接,在js中做所有事情

    <a href="#">click me</a>
    
    Run Code Online (Sandbox Code Playgroud)

    (在Javascript中我们将停止默认事件,并调用该函数)

哪一个更好?有哪些优点和缺点?

编辑删除了"javascript:"onclick

Kev*_*vin 8

具有优雅降级的不引人注目的Javascript(您的第三个示例)是最佳选择.

  • 它不一定是最好的选择.将标记与您的答案提供的行为分开是以牺牲两件事为代价的:首先,直到您分配事件处理程序的脚本运行,通常在文档加载时,单击链接无效,而如果事件处理程序通过属性分配链接立即具有所需的行为.其次,正如joyontbelong观察到的那样,不引人注目的方式通常涉及额外的代码.将标记与行为分离是一个有效的目标,但不要被洗脑认为它是唯一的目标. (3认同)