装饰类设计模式

该设计模式在原有的事件内 想要增加函数或添加样式改变 使得该事件能够执行的范围更加广泛
例如 某一点击事件内 只改变了 颜色 但是想要该节点隐藏或者是另一个节点想要改变颜色等
body中分别有3个按钮

<script>
       var Button=document.getElementById('Button')
       var button1 =document.getElementById('1')
       var button2 =document.getElementById('2')
       Button.onclick=function(){
           console.log(button1.style.display)
           fn(button1)
       }
       function fn(button){         显示或者隐藏
        if(!button.style.display){
                       button.style.display='block'
                   }
                   else{
                       button.style.display=''
                   }
       }
       function fun(Button,fn){
           if(typeof Button.onclick==='function'){
               var prvicefn=Button.onclick     缓存 Button原本的点击事件函数
               input.onclick=function(){
                   prvicefn()               执行原本函数
                   fn(button2)              添加执行新的函数
               } 
           }
           else{                                        
            fn(button2)
           }
       }
       fun(Button,fn)    传参

该模式 主要在于 缓存原本点击事件的函数 在重写的点击事件执行并添加新的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值