[JavaScript] 实现颜色切换的同时弹出窗口 →→→→→进入此内容的聊天室

来自 , 2020-11-12, 写在 JavaScript, 查看 108 次.
URL http://www.code666.cn/view/149e9677
  1. function addEvent(obj,type,fn){
  2.         var saved = null;
  3.         if(obj[type] != null){
  4.                 saved = obj[type];
  5.         }
  6.         obj[type] = function(){
  7.                 if(saved)saved();
  8.                 fn.call(this);
  9.         }
  10. }
  11. function toBlue(){
  12.         this.className = 'blue';
  13.         alert('blue');
  14.         addEvent(this,'onclick',toRed);     //将代码换成下面这行,则不能弹出hello,world
  15.         //this.onclick = toRed;             //原因是这个onclick会覆盖之前的onclick事件,saved中(递归调用了本身的代码)保存了所有之前发生过的click
  16.                                                                                 //颜色的变化会产生幻觉,以为只执行了一次切换颜 色,不一定是一次,而是所有onclick的次数
  17.                                                                                 //addEvent方法就是将所有的click执行一遍,
  18. }                                                                          
  19.         this.className = 'red';
  20.         alert('red');
  21.         addEvent(this,'onclick',toBlue);
  22.        
  23. }
  24. window.onload = function(){
  25.         var box = document.getElementById('box');
  26.         addEvent(box,'onclick',function(){
  27.                 alert('hello,world!');
  28.         });
  29.         addEvent(box,'onclick',toBlue);
  30. }
  31.  

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

这儿你可以回复上面这条便签

captcha