你们碰见过怪事儿没?举个例子,我们在谷歌浏览器上,用标签就能任意浏览网页,方便极了。但在IE6这种古老的浏览器上,怎么也搞不定。为啥啊这是?
咱们先来看一段代码:
“`javascript
a标签能帮你跨站穿越,只要给出href属性就行啦;或者想让它自己跑起来?那就给 onClick 加上脚本!
这代码看着没啥毛病,大部分浏览器下运行都挺顺手的。但就是IE6有点小问题,跳转功能使不上劲了,咋回是捏?
再来看一段代码:
javascript:void(0);
这个”void (0)”是啥玩意儿呀?看似像函数结果却是NULL,还拘泥于要带个参数唷,不能空着哈。这参数不管是啥样的表达式或函数都行。
测试一下:
首先IE6接到绑定过的DOM事件时,比如咱们常用的那个”点击”,默认是先搞定的~要是没地方让它停下来,它就只能接着看下面的URL属性咯。然后,”void(0)”其实是想告诉IE6就安静待着吧(盖过前面的操作),也顺道儿打断那个冒泡的进程,这和咱们平时说”返回false”的效果差不多。这样的话,浏览器估计就不会有啥动静。所以只要在”点击”事件里面设个不可冒泡就行咯!
嗯呐,首先别再用那个 `javascript:void(0)` ,咱可以试试用 `#` 代替。你知道吗,本来 `#` 就是个锚点,要是啥也不加,它会直接默认地往上奔哟;但是加了其他东西以后,浏览器可能就误以为那还是个链接,只能硬着头皮去搜寻一番,要是没找到怎么办?那就只好回到顶部。当然咯,假如你不想让它跳转的话,那就用 `###` 好了,毕竟这个标签平时也不起眼的。
IE6里a标签点不开咋办?别急,我们有种方法叫“阻止冒泡”。或是直接换成”#”来代替javascript:void(0)嘛!这样你就能解决IE6常见的问题!有啥不懂的地方,直接在评论区提问,咱们一起交流讨论!别忘了给我点赞和转发分享哟~
评论0