js自定义事件侦听

// 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")
});
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容