代码之家  ›  专栏  ›  技术社区  ›  Oscar Kilhed

当子元素的onclick触发时,是否可以阻止浏览器跟踪链接?

  •  13
  • Oscar Kilhed  · 技术社区  · 15 年前

    这就是我的基本情况:

    <a href="http://somelink.com">
        <span>stuff</span>
        <span onclick="AwesomeFunction();">more stuff</span>
        <span>the last stuff</span>
    </a>
    

    现在,问题是我想把父级作为链接,但是如果用户用onclick事件单击跨度,我不希望浏览器跟踪链接。

    我试过了

    event.stopPropagation();
    

    但这似乎只会阻止链接onclick事件被触发,或者我做错了什么。

    我现在处于压缩模式,我不想花太多时间重写生成这个HTML的代码,但它仍然不能是一个黑客,因为它是在站点的一个非常重要的功能中实现的。感谢您的帮助。

    3 回复  |  直到 15 年前
        1
  •  26
  •   Prashanth Benny    8 年前

    使javascript方法返回false!

    或者你也可以使用 event.preventDefault() 而不是 event.stopPropagation()

        2
  •  8
  •   Sani Huttunen    15 年前
    <a href="http://somelink.com">
        <span>stuff</span>
        <span onclick="AwsomeFunction(); return false;">more stuff</span>
        <span>the last stuff</span>
    </a>
    
        3
  •  8
  •   Victor    10 年前

    当然,只要在onclick中返回false

    类似的东西

    <a href="somwhere" onclick="return false;">nothing happens</a>
    
    推荐文章