js自定義事件

2022-02-18 13:55:57 字數 1335 閱讀 7490

自定義事件的本質,建立乙個物件,然後把事件的名字作為物件的乙個屬性,然後value是乙個,把此事件的所以**都push進去。

寫乙個很基本的,沒有把物件暴露出去的js的自定義事件。

1

varevent =(function();

3var addevent =function(type,cb)

7return

obj[type].push(cb);8}

9var removeevent =function(type)

12var fireevent =function(type)16}

17return

22})();

23var on =function(type,param)else29}

30var off =function(type)

33 on("

hello

",function());

34 on("

hello

",function());

35 on("

hello

");

這裡我們提供乙個可以放入sdk中的

1  customevent = (function

() ;

6 guid = function

() ;

9 listeners ={};

10 cgid = '__ceguid';//

cgid = guid; 目的為了防止框架定義的obj屬性和使用者定義屬性的相同

11 addcustomevent = function

(obj, event, callback)

16if (!listeners[obj[cgid]]) ;18}

19if (!listeners[obj[cgid]][event])

22return

listeners[obj[cgid]][event].push(callback);

23};

24 firecustomevent = function

(obj, event, memo) ));32}

33return

results;34}

35};

36 removecustomevent = function

(obj, event, callback) 47}

48}49 } else53}

54};

55return

;60 })();

view code

js自定義事件

使用event let myevent new event event name 為了能夠傳遞引數,使用customevent let mycusevent new customevent event name customenent的另種寫法 首先建立自定義事件物件 let event docum...

js自定義事件

customevent event new customevent typearg,1.用法 定義事件 var event new customevent student 監聽事件 domelement.addevent student function e 觸發事件,同乙個監聽的dom元素,dis...

js 自定義事件

1 由於如果函式名相同的話,後面呼叫的函式會覆蓋前面的函式,如果多人協作開發的話很不方便,所以產生的自定義事件。借鑑繫結事件的特性,可以繫結多個事件,不會產生覆蓋現象。2 自定義事件 使函式具備事件的特性 window.addeventlistener show function false win...