用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - javascript代码库

实现颜色切换的同时弹出窗口

2013-08-29 作者: 蓝色理想举报

[javascript]代码库

function addEvent(obj,type,fn){
	var saved = null;
	if(obj[type] != null){
		saved = obj[type];
	}
	obj[type] = function(){
		if(saved)saved();
		fn.call(this);
	}
}
function toBlue(){
	this.className = 'blue';
	alert('blue');
	addEvent(this,'onclick',toRed);     //将代码换成下面这行,则不能弹出hello,world
	//this.onclick = toRed;             //原因是这个onclick会覆盖之前的onclick事件,saved中(递归调用了本身的代码)保存了所有之前发生过的click
										//颜色的变化会产生幻觉,以为只执行了一次切换颜 色,不一定是一次,而是所有onclick的次数
										//addEvent方法就是将所有的click执行一遍,
}									    
	this.className = 'red';
	alert('red');
	addEvent(this,'onclick',toBlue);
	
}
window.onload = function(){
	var box = document.getElementById('box');
	addEvent(box,'onclick',function(){
		alert('hello,world!');
	});
	addEvent(box,'onclick',toBlue);
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...