javascript开发随笔一 preventDefault的必要

 更新时间:2011年11月25日 01:22:25   作者:  
给a做按钮的click事件加preventDefault阻止浏览器的默认行为貌似是印象中必须的事情
不加的话貌似只在ie6出现过问题。出现过:改变图片地址,结果图片不见了,加载样式,但样式文件没了。就像是中断了资源的下载一样,正确时解释是 IE6下使用A元素来做按钮的时候一定要记得在onclick事件里面调用preventDefault(),IE6会强制关闭当前活动的HTTP连接,导致正在请求的其他资源或脚本加载不正常。 但资源如果已经被缓存了,就没有这个问题了
复制代码 代码如下:

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<h2>在ie6中会出现,点击改变图片src导致图片不出现,需preventDefault或者return false</h2>
<a id="J_btn" href="javascript:void(0)">点击改变图片地址</a>
<img id="J_img" height="160" src='http://www.baidu.com/img/baidu_sylogo1.gif' />
<script type="text/javascript">
var $ =function(id){return typeof (id) =="string"? document.getElementById(id) : null};
var logo_bd ='http://www.baidu.com/img/baidu_sylogo1.gif';
var logo_go ='http://www.google.com.hk/intl/zh-CN/images/logo_cn.png'
$("J_btn").onclick =function(event){
event = event || window.event;
//event.preventDefault ? event.preventDefault() : event.returnValue = false;
$("J_img").src = $("J_img").src == logo_bd ? logo_go : logo_bd;
}
</script>
</body>
</html>

相关文章

最新评论