代码之家  ›  专栏  ›  技术社区  ›  pleasedontbelong

当用户单击链接时,执行函数的最佳方式是什么?

  •  12
  • pleasedontbelong  · 技术社区  · 15 年前

    根据我的经验,当用户单击链接时,我知道三种不同的方式来执行Javascript函数

    1. onclick

      <a href="#" onclick="myfunction();return false;">click me</a>
      
    2. 使用 href 在链接上

      <a href="javascript:myfunction();">click me</a>
      
    3. <a href="#">click me</a>
      

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

    编辑 删除了上的“javascript:”

    4 回复  |  直到 15 年前
        1
  •  8
  •   Kevin    15 年前

    Unobtrusive Javascript (你的第三个例子)用 graceful degredation 是最好的选择。

        2
  •  3
  •   Q_Mlilo    15 年前

    在href属性中有一个链接总是很好的,这样可以支持在浏览器上禁用JavaScript的用户。

    <a href="http://www.mywebsite.com/javascriptdisabled.html" onclick="myfunction(); return false;">click me</a>
    
        3
  •  1
  •   Tim Down    15 年前

    以上都不是。使用 click 事件(如果愿意,可以指定为属性或通过脚本),并使用真实的URL作为回退:

    <a href="realpage.html" onclick="myfunction(); return false;">click me</a>
    

    或HTML:

    <a href="realpage.html" id="myLink">click me</a>
    

    document.getElementById("myLink").onclick = function() {
        myfunction();
        return false;
    };
    

    另外,不要在事件处理程序属性中使用前缀代码 javascript: javascript代码: 创建一个名为 javascript ).

        4
  •  0
  •   grimorde    15 年前

    或者,使用jQuery

    $(function() {
        $('[id$=myLinkID]').click(function(e) {
            myFunction();
        });
    });
    
    推荐文章