使用 Dojo 框架调度自定义事件
Posted
技术标签:
【中文标题】使用 Dojo 框架调度自定义事件【英文标题】:Dispatching custom events with Dojo framework 【发布时间】:2011-11-02 10:32:42 【问题描述】:我正在使用 Dojo 框架来帮助我进行 javascript 开发,包括跨浏览 DOM 操作和事件管理。 最后,我希望在对象之间使用自定义事件调度。但我在这方面找不到任何东西。我阅读了有关订阅/发布的信息,但这并不是我想要的。 这是我想做的:
var myObject = new CustomObject();
dojo.connect(myObject, 'onCustomEvent', function(argument)
console.log('custom event fired with argument : ' + argument);
);
var CustomObject = (function()
CustomObject = function()
// Something which should look like this
dojo.dispatch(this, 'onCustomEvent', argument);
;
) ();
谁能帮帮我?
谢谢。
【问题讨论】:
【参考方案1】:我通常这样做:(使用 Dojo 1.3.2 测试)
dojo.declare("CustomObject", null,
randomFunction: function()
// do some processing
// raise event
this.onCustomEvent('Random Argument');
,
onCustomEvent: function(arg)
);
var myObject = new CustomObject();
dojo.connect(myObject, 'onCustomEvent', function(argument)
console.log('custom event fired with argument : ' + argument);
);
// invoke the function which will raise the custom event
myObject.randomFunction();
【讨论】:
谢谢。因此,您必须调用现有函数作为事件标识符。我更喜欢使用字符串 + 处理程序系统,但我会处理它。再次感谢以上是关于使用 Dojo 框架调度自定义事件的主要内容,如果未能解决你的问题,请参考以下文章
Flex 4 从自定义组件调度自定义事件(为啥 flex 将自定义事件转换为 mouseevent)