js自訂事件模式

來源:互聯網
上載者:User

標籤:add   執行個體   註冊   功能   dom   觸發事件   function   需要   沒有   

---恢複內容開始---

  js事件用的最多的就是預設事件。不過有時候需要自訂事件來使用。

  參照預設事件的模式,例如click事件,滑鼠點擊dom,先觸發click事件,然後執行dom上的事件處理常式。

<p>點我</p>

document.getElementByTagName(‘p‘)[0].addEventLisener(‘click‘,()=>{

  alert(‘click‘);

})  

  同理,自訂事件也需要三個部分,即事件註冊、事件觸發、處理常式。

這裡使用原型方法做例:

var ZdsEvent=function(){ //自訂事件對象
  return;
};
ZdsEvent.prototype={ //原型對象
  handles:{ //事件處理常式

  },
  on(zdsEvent,handle){ //事件註冊
    if(!this.handles[zdsEvent]){
      this.handles[zdsEvent]=handle;
    }else{
      console.log(‘這個事件已經註冊過了‘);
    };
  },
  emit(zdsEvent){ //事件觸發
    if(this.handles[zdsEvent]){
      this.handles[zdsEvent]();
    }else{
      console.log(‘還沒有註冊這個事件呢‘);
    }
  }
}
var zds=new ZdsEvent();  //執行個體事件對象
zds.on(‘con‘,()=>{ //註冊一個列印內容事件
  console.log(‘第一個事件‘)
});
zds.emit(‘con‘);  //觸發事件

這就是一個自訂事件的最基本模式,還有一些其他的功能,如登出事件和一次性事件等,不過最基本的功能就是這樣

 

js自訂事件模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.