<a>标签在IE8中Onclick和herf的弹框问题及解决方式

两个属性的见解

以前我写超链接的href和onclick方法是很随意的,后来发现还是有区别,所以就谨慎起来了。
一般情况,推荐这样使用:
<a href="javascirpt:void(0);" onclick="funciton();">   onclick方法先执行,接着执行href.javascript:void(0),后面的运算返回的是0,也就是什么都不执行,就在当前页面。
不推荐这样的写法,及时可以i实现,但是再IE中有时候会导致其他的问题。
 <a javascript:" lagon();" href="#">
 <a href="#"   javascirpt:"miaoshao(uuid)'"

IE中的问题

如果这样写,onclick时间触发执行刷新当前页数据后,IE会重新打开一个空白页面
<a href="javascirpt:viod();" onclick:"login();">
在IE8中,执行完login()方法, 会自动打开一个空白页面,很是头疼。解决这个问题有三个方法:

方法一

在超链接中加入 target="_self",如果有terget="_blank"就换为"_self"

方法二

在onclick()方法体重加入两句话,可以防止冒泡执行顺序。也就是说,当超链接执行完onclick之后就不会再执行href。
function(){
    window.event.cancelBubble = true;//停止冒泡
    window.event.returnValue = false;//阻止事件的默认行为

}

方法三

可以在超链接的onclick:"function();return false;"

加入return false;

以上方法自己亲身经历并解决,希望可以帮助到大家,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,540评论 1 19
  • NSString *str = @" this is a test . "; 去掉两端的空格 str = [str...
    王_尧阅读 5,821评论 0 5
  • 为什么你总是一副对我毫不关心的样子、好像我一直是一厢情愿一样? 为什么我难过害怕的时候都找不到你? 为什么你明明手...
    Babysbreath丶阅读 369评论 0 0
  • 孩子上英语课,家长们在教室外走廊上坐成一排等待着。妈妈们、奶奶们,一起聊开了。因为孩子们年龄相仿,都在选择幼儿园,...
    Miya小桶阅读 878评论 0 4