2

在 appcelerator Titan 中,是否可以在函数调用上设置事件监听器?

有点像

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

我希望能够以某种方式包装特定的一组函数,以确保它们做某事。未来的代码可能会扩展做某事,并且在我的代码中有一个控制它的中心点会非常好。

4

1 回答 1

5

您不能将 eventListener 添加到任何函数,但可以在函数内触发事件,也可以将函数用作事件的回调。事件侦听器用于处理事件。在您的情况下,如果您想向函数添加事件,您可以简单地在 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');

有关详细信息,请参阅Titanium 中的事件处理

于 2012-12-31T07:27:47.483 回答