您的位置:首页 > 编程语言

阅读layim代码小记,监听事件实现方法

2016-08-05 17:57 323 查看
(function (win) {
//注册事件
var chat = function () {
$('#open').on('click', function () {
sendMessage();
})
}

var call = {};

//监听事件
chat.prototype.on = function (events, callback) {
if (typeof callback === 'function') {
call[events] ? call[events].push(callback) : call[events] = [callback];
console.log(call);
}
return this;
}
//内部事件
var sendMessage = function () {
console.log('dosomething');
var data = { d: 'somedata' };
//这里需要循环,如果外边没有执行 on 监听,这里会报错
call.sendMessage[0](data);
}

win.chat = new chat();
})(window);

//外部监听sendMessage方法
chat.on('sendMessage', function (msg) {
console.log(msg);
console.log('监听到sendMessage方法');
});


  以前经常用定义callback方法实现对事件调用成功之后的处理,这种 on方法很像 document.on 虽然,我不知道document.on 是不是这么实现的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: