// Create the event. //創(chuàng)建一個(gè)事件
var event = document.createEvent('Event'); //Event是自定義的事件名
// 或者: var event = new Event("Event");
// Define that the event name is 'build'.
event.initEvent('build', true, true); //這里是初始化事件, //就是些參數(shù)而已.
// Listen for the event.
elem.addEventListener('build', function (e) { //給事件添加監(jiān)聽
// e.target matches elem
}, false);
// target can be any Element or other EventTarget.
elem.dispatchEvent(event); //觸發(fā)事件
監(jiān)聽LocalStorage.setItem事件
const listenStorageKeys= ["shop_id"]; // 需要偵聽的localstorage
// 添加js 偵聽localstorage
var orignalSetItem = localStorage.setItem;
localStorage.setItem = function(key,newValue){
if(listenStorageKeys.includes(key)){
var setItemEvent = new Event("setItemEvent."+key);
// 自定義字段
setItemEvent.set_key = key;
setItemEvent.set_value = newValue;
window.dispatchEvent(setItemEvent);
}
orignalSetItem.apply(this,arguments);
};
// 使用
window.addEventListener("setItemEvent.shop_id", function (e) {
console.log(e.set_key ,e.set_value,"cccccccccccc")
});