// Create the event. //创建一个事件
var event = document.createEvent('Event'); //Event是自定义的事件名
// 或者: var event = new Event("Event");
// Define that the event name is 'build'.
event.initEvent('build', true, true); //这里是初始化事件, //就是些参数而已.
// Listen for the event.
elem.addEventListener('build', function (e) { //给事件添加监听
// e.target matches elem
}, false);
// target can be any Element or other EventTarget.
elem.dispatchEvent(event); //触发事件
监听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")
});