zoukankan      html  css  js  c++  java
  • 关于javascript:void(0);,herf=”#”以及在IE6下,click事件失效的问题

    经常看到一些网页中,超链接标签中<a href=”#”> herf中的“#”改成javascript:void(0);因为#包含了一个位置信息,默认的锚点是#top 也就是网页的上端.而javascript:void(0)  仅仅表示一个死链接
    这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此.

    一般采用ajax技术,才有这种形式,而我们的项目只是加了个click事件,处理一些验证逻辑,之后跳转。。。问题出来了,在IE6下面,click事件失效。。。

    网上搜到这么个解释:

    这里的href=”javascript:;或javascript:void(0或null);” 本身的意思就是执行空的事件。而响应顺序是从onclick开始,然后再进入href。这里的问题就是执行了onclick链接事件后又执行href的空响应。所以导致失效。
    解决办法就是在onclick中最后加上return false;就搞定了(意思就是不执行后面的href中的事件)。至于为什么其它浏览器中不加也可以的问题,那就可以说明“其它浏览器中后面默认的就是跟上return false;而IE6是return true;”注意这个结论还有待验证

    return false,这个不行。。。

    还有种解决方案,用###。。。

    好了问题解决了。。

    但回过头来,有这么复杂吗。为什么要用<a>标签,用个<span>问题不就解决了吗。。。

    有时候,要从多个角度,思考问题。。偶尔跳出来,看问题,往往有新的思路……

  • 相关阅读:
    Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类
    Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
    flash项目优化总结
    flash builder4.7bug
    [转] MovieClip转Bitmap方法
    flash builder关掉自动编译功能
    flash builder调试
    我喜欢的两种单例写法
    IE浏览器打开f12才正常
    [转] swf文件加密基础
  • 原文地址:https://www.cnblogs.com/guanjie20/p/1952212.html
Copyright © 2011-2022 走看看