1. 程式人生 > >創建自定義事件

創建自定義事件

運行 font span ons 觸發事件 我們 實現 想要 default

為什麽要自定義事件,自定義事件要使用在地方?

傳統的事件不能滿足我們的需求,所以我們需要自定義事件,比如傳統的事件有單擊,雙擊,但是突然某一天我想要三擊 那就要用到自定義事件了,自定義事件一般使用在觀察者模式上,比如主體需要發布各種消息通過創建各種自定義事件來實現,對於消息的訂閱則通過註冊監聽器來實現。

var test = document.getElementById("longen");
 // 創建事件
var evt = document.createEvent(‘Event‘);
// 定義事件類型
evt.initEvent(‘customEvent‘,true,true);
// 監聽事件
test.addEventListener(‘customEvent‘,function(){ console.log("111"); },false); // 觸發事件 test.dispatchEvent(evt);

在這個過程中,createEvent方法創建了一個空事件evt,然後使用initEvent方法定義事件的類型為約定好的自定義事件,再對元素進行監聽,最後使用dispatchEvent來觸發事件了。自定義事件無非就是監聽事件,然後自己運行回調函數,上面的initEvent的第二個參數的意思是:是否冒泡,第三個參數的意思是:是否可以使用preventDefault()來阻止默認行為。

創建自定義事件