读书人

一个容易的javascript模块间事件通信范

发布时间: 2012-11-22 00:16:41 作者: rapoo

一个简单的javascript模块间事件通信范例
现在项目开发中很多采用了模块化方式开发,很多时候多个模块中间需要通过事件方式进行交互,这里给出一个简单的示例代码,希望对大家有所帮助。

window.Core = window.Core || {};Core.listenData = {};//事件监听Core.listen = function (args, handle) {    //args:监听事件的名称,可为数组形式,handle:监听到事件后的处理函数    //同一个页面上可能存在多个同样的部件,他们所监听的可能是同一个事件    if (typeof (args) == 'string') {        args = [args];    }    for (var i = 0; i < args.length; i++) {        if (Core.listenData.hasOwnProperty([args[i]])) {            Core.listenData[args[i]].push(handle);        } else {            Core.listenData[args[i]] = [];            Core.listenData[args[i]].push(handle);        }    }};//事件通知Core.notify = function (handleName, data) {    if (Core.listenData.hasOwnProperty([handleName])) {        var handleList = Core.listenData[handleName];        for (var i = 0; i < handleList.length; i++) {            handleList[i](handleName, data);        }    }};


读书人网 >JavaScript

热点推荐