作者: 奔向金字塔 | 来源:发表于2017-11-27 17:15 被阅读0次

两个属性的见解

以前我写超链接的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;

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

相关文章

网友评论