創建自定義事件
阿新 • • 發佈:2017-12-12
運行 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()來阻止默認行為。
創建自定義事件