博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为何点击A标签没反应
阅读量:6435 次
发布时间:2019-06-23

本文共 1035 字,大约阅读时间需要 3 分钟。

  下午做为老大(他是做产品的)让我尝试破解一下kodexplorer(一个PHP做的文件管理工具),做为一名前端,完全根本就看不懂PHP。

  就在我装模作样在百无聊赖的尝试的时候,QQ闪了。点开一看,是我一大学同学。

image:他给我发了一图,就是这张

  问:“为何点击不能下载”。我下意识的让他给A标签添加一个download="true"试试。

  回复:“还是不行”

  想想也是正常。download是HTML5给A增加的一个新属性,作用是告诉浏览器这个链接的文件以下载的方式处理,download属性的值就是文件的名称(个人理解,具体定义可以去w3c搜一搜)。但在没有这个属性之前,当A标签链接是浏览器不能直接执行或者解析的文件时,默认就会变成下载。这里链接的是一个文件,所以应该是下载。是否添加download都该是同一个效果。

  现在我们来看看。那还能有什么原因呢?我马上想到是js把A标签的默认事件阻止了。

image

  然后我还问了问是不是标签交叉了,标签交叉不同浏览器会有些不同的表现,然后他告诉我并没了并且发了图片给我

图3

  所以我认为很有可能是JS阻止了A标签的默认行为。并告诉了他如何处理。

  然后我俩突然跳出了这个话题,聊了还一会之后。我问刚刚的问题解决了没有。回答没有,还是不知道怎么弄。

image

  这里我get到了一个新玩意,TeamViewer。。。我之前一直都还是使用的QQ远程,和这个比一下真的差距太大了。连上远程之后,正好他也是用的Chrome,在Chrome浏览器里把A标签事件移除之后,果断点击有有了效果。所以肯定就是事件禁止了A标签的默认行为。

image

  其实那个remove我也是今天才发现的,才知道还可以这样玩。

  最后确定是,div标签的data-toggle="buttons"引起的,去掉buttons就恢复正常。这边想去研究一下为啥boostrap会把A标签的默认行为给禁止了,我尝试了下载了一个bootstrap引用了一下,对照他的那个结构写了标签尝试了一下,没有复现出你的那个bug。data-toggle="buttons"在boostrap官网貌似并没有见过这个值,应该是引用了一些基于bootstrap的插件引起的问题。然后也就到下班的时间了,我也就没继续深究了

  总结一波,A标签点击无反应无非就是以下几种情况

  1. 标签使用不合法:href属性写错了,标签没有回之类的问题。

  2. 其它图层将A标签遮挡住了,根本点不到A标签

  3. 就是上面这种默认事件被阻止了。

转载地址:http://jlhga.baihongyu.com/

你可能感兴趣的文章
AR头显要上天!欧洲太空总署或用HoloLens维修太空站
查看>>
沃尔玛建立自家的人工智能网络,抗衡竞争对手亚马逊
查看>>
Mysql备份与还原及优化方法
查看>>
linux常用命令和选项
查看>>
sed 学习笔记(未完成)
查看>>
Eclipse保存验证JS缓慢
查看>>
2017 JMP Discovery Summit China圆满落幕
查看>>
9 Easy Steps for Successful Data Migration
查看>>
人工智能,不止于技术的革命--WOT2017全球创新技术峰会开幕
查看>>
mysql 在大型应用中的架构演变
查看>>
ibm系列文章 --> Windows 到 Linux 之旅
查看>>
linux内存占用过高原因
查看>>
全备份失败后,如何手工清除exchange日志文件,附微软KB
查看>>
java如何连接mysq之源码l讲解
查看>>
企业运维笔试考题(1)
查看>>
Mysql修改存储过程相关权限问题
查看>>
4.2权限管理
查看>>
彻底理解ThreadLocal
查看>>
Node.js~ioredis处理耗时请求时连接数瀑增
查看>>
Linux命令行上执行操作,不退回命令行的解决方法
查看>>