a标签 可能会出现的bug

在项目中a标签遇到过的问题

发现问题:a标签包装的按钮, 如果这个按钮在页面滚动后出现,你点击后,页面会定位到滚动以前的位置,但是我并不想要这种效果。

分析问题并尝试: 一开始以为是光标定位问题,用document.getElementById("username").focus(); 试了一下还是没解决。

         后来经同事提醒,把a标签的href属性去掉,试了一下好了,不跳到上面了。

分析发生问题的原因:href写的"#",相当于跳到当前页面的一个锚点,锚点地址又没写是空,默认就会是页面最上面,如果没有滚轮就看不出有区别,有滚轮你会发现有问题。

发现问题:a标签写的提交按钮,提交之后没有跳到js里面制定的url,而是跳到这个网站的主页了。

分析问题并尝试:一开始猜是form提交的url不对。

            还猜过form里面id名字是不是不能带“-”。

              偶然间重写了一次a便签,发现没有这问题了,你猜怎么着?a便签忘记写 href=“#”了,

分析发生问题的原因:提交的地址应该是http://10.1.29.254:8088/mbms/public/index.php?controller=content&action=ListContent

                      因为提交里面的url都是写的后面的地址index.php?controller=content&action=ListContent,没有写前面的地址,

                       然后href没写,他找不到前面的http://10.1.29.254:8088/mbms/public这个地址,就没有跳到制定页面,但是为什么会跳到主页,我也不知道。

发现问题:a标签想实现下载功能,一开始以为是href=“文件地址”就可以了,但是点一下,就跳到那个地址了,打开那个文件了

分析问题并尝试:查了一下,只要给他设置下面这个属性就可以了 download=“文件名称”

分析发生问题的原因:当时脑子轴,没想到这不就是a便签的默认跳转链接属性么,还纳闷了半天,加 download=“文件名称”就可以了

总结: a标签写href=“#”,点了,视野会重定位,所以有滚轮要慎重。

    a标签不写href=“#”,当做提交按钮时,提交的url要写全,不然定位的地址会乱跳

    a便签实现下载功能 href=“文件地址” download=“文件名称”

    

原文地址:https://www.cnblogs.com/wufangfang/p/6807288.html