• 关于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>问题不就解决了吗。。。

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

  • 相关阅读:
    Python 企业面试题集锦之Python基础
    Jmeter 线程之间传递参数
    Jmeter 5.1参数化csv引入文件
    Jmeter 5.1命令行执行bat文件
    Idea JAVA項目的导入JAR包和导出jar包
    charles 设置弱网测试
    Jmeter_Beanshell 返回值中提取参数值
    在Notepad++里配置python环境
    python json格式参数遍历所有key、value 及替换key对于的value
    python 使用yaml模块
  • 原文地址:https://www.cnblogs.com/guanjie20/p/1952212.html
Copyright © 2020-2023  润新知