下午,作为老板(他是产品制造商),让我尝试破解kodexplorer(PHP制作的文件管理工具)。作为前端,根本看不懂PHP。就在我装作无聊尝试的时候,QQ闪了。点击打开,是我的大学同学。问题:“为什么我不能点击下载”。我下意识地让他给A标签加个download="true"试试。回复:“还是不行”想想也是正常的。download是HTML5给A新增的一个属性,它的作用是告诉浏览器将链接的文件处理为下载。download属性的值为文件名(个人理解,具体定义可以搜索w3c)。但在该属性之前,当A标签链接是浏览器无法直接执行或解析的文件时,默认会下载。这里的链接是文件,所以应该是下载。加不加下载应该是一样的效果。现在让我们看看。还有什么原因?立马想到是js屏蔽了A标签的default事件。然后我问标签是否交叉了,标签交叉时不同的浏览器会有不同的表现,然后他告诉我没有并发了一张图片给我所以我觉得很有可能是JS阻止了A标签的默认行为。并告诉他如何处理。然后我们突然跳出这个话题,又聊了一会儿。我问刚才的问题解决了吗?答案是否定的,我仍然不知道该怎么做。在这里我得到了一个新的小工具,TeamViewer。..之前一直用QQ远程,跟这个比起来,差距真的太大了。连上遥控器后,正好他也在用Chrome。Chrome浏览器去掉A标签事件后,点击果断有效果。所以肯定是事件禁止了A标签的默认行为。其实我今天才发现remove,我知道我还能这样玩。最后确定是div标签的data-toggle="buttons"引起的,去掉按钮后按钮恢复正常。这里想研究一下为什么boostrap会禁止A标签的默认行为。我试着下载了一个bootstrap参考,根据它的结构写了标签并试了一下,但它没有重现你的。漏洞。data-toggle="buttons"在boostrap官网上好像没有看到这个值。应该是一些基于bootstrap的插件导致的问题。然后就该下班了,就没再继续下去了总结一下,点击A标签没有任何反应,无非是以下几种标签使用不合法的情况:href属性写错,标签不返回等问题。其他图层覆盖了A标签,A标签无法点击,因为上面的默认事件被屏蔽了。
