亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

observer

為什么Observer報錯 Uncaught ReferenceError: Observer is not defined

正在回答

2 回答

/**

* 事件

* 觀察者模式

*/

var Observer = (function(slice) {


function bind(event, fn) {

var events = this.events = this.events || {},

parts = event.split(/\s+/),

i = 0,

num = parts.length,

part;


if (events[event] && events[event].length) return this;


for (; i < num; i++) {

events[(part = parts[i])] = events[part] || [];

events[part].push(fn);

}

return this;

}


function one(event, fn) {

this.bind(event, function fnc() {

fn.apply(this, slice.call(arguments));

this.unbind(event, fnc);

});

return this;

}


function unbind(event, fn) {

var events = this.events,

eventName, i, parts, num;


if (!events) return;


parts = event.split(/\s+/);

for (i = 0, num = parts.length; i < num; i++) {

if ((eventName = parts[i]) in events !== false) {

events[eventName].splice(events[eventName].indexOf(fn), 1);

if (!events[eventName].length) { //修正沒有事件直接刪除空數組

delete events[eventName];

}

}

}

return this;

}


function trigger(event) {

var events = this.events,

i, args, falg;


if (!events || event in events === false) return;


args = slice.call(arguments, 1);

for (i = events[event].length - 1; i >= 0; i--) {

falg = events[event][i].apply(this, args);

}

return falg; //修正帶返回

}


return function() {

this.on =

this.subscribe = bind;

this.off =

this.unsubscribe = unbind;

this.trigger =

this.publish = trigger;

this.one = one;

return this;

};

})([].slice);


0 回復 有任何疑惑可以回復我~

沒有引用observer.js?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
H5+JS+CSS3 實現圣誕情緣
  • 參與學習       122111    人
  • 解答問題       233    個

為圣誕節準備的H5+JS+CSS特效案例教程,實現靜與動的結合

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號