钛addeventlistener到函数调用

时间:2012-12-30 14:52:49

标签: titanium event-listener

在appcelerator中,是否可以在函数调用中使用事件监听器?

有点像

var coolManDool = function(){...};
coolManDool.addEventListener('what goes here?", function(){ ... } );

我希望能够以某种方式包装某组功能,以确保他们做某事。未来的代码可能会扩展到某些东西的作用,并且在我的代码中有一个中心位置,这将是非常好的。

1 个答案:

答案 0 :(得分:4)

您无法向任何函数添加eventListener,但您可以在函数内部触发事件,并将函数用作事件的回调函数。 Event侦听器用于处理事件。在您的情况下,如果要向函数添加事件,则只需在Titanium中创建自定义事件即可。例如,如果要在调用函数时执行某些特定操作,则可以按如下方式执行此操作。

//Creating the custom event
window.addEventListener('myEvent', function(){
    alert('function called')
});

function foo(){
    //Some actions
    window.fireEvent('myEvent');
}

您还可以向应用程序本身添加事件(应用程序级事件)。应用级事件对您的应用来说是全局性的。它们可在所有上下文,功能范围,CommonJS模块等中访问。您可以通过Ti.App模块触发它们并监听它们。

Ti.App.addEventListener('myAppEvent', function(){
    alert('Application level event get fired');
});
//Fire the event like
Ti.App.fireEvent('myAppEvent');

请参阅Event handling in Titanium了解详情