两个属性的见解
以前我写超链接的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;
以上方法自己亲身经历并解决,希望可以帮助到大家,谢谢!
网友评论