2

我是 Titanium Studio 的新手,我正在尝试为 android 开发一个应用程序。当我执行以下功能时(即,当我单击窗口时):

win1.addEventListener('click', function(){
    alert('On click');
    alert('End of the function');
});

首先显示第二个警报“功能结束”,然后显示第一个警报“单击时”。

您对此有什么解决方案。提前致谢。

4

1 回答 1

0

在 Titanium 中,alert()调用是异步的(与 Web 浏览器不同)。继承人关于它的文档:

请注意,与基于 Web 浏览器的警报版本不同,该方法是异步的。但是,一次只有一个警报对话框是可见的和模态的。

请注意,将来可能会删除此方法。

您从一个函数内部触发了两个警报,第二个警报没有首先打开,它们按顺序打开,因此当您打开第alert('On Click')一个警报时,它几乎立即被掩盖(或真正被替换,因为一次只显示一个警报)通过打开第二个警报框。

因此,您永远不应该在一个函数中调用多个警报。

考虑 Javascript 和 Titanium 中的最佳实践:你永远不应该用它alert()来调试现代 javascript,尤其是当你有更强大的工具可供使用时。即使在 Web 浏览器中(使用 Web Developer Tools 或 Firebug)。此外,如前所述,将来可能会从 Titanium 中删除此功能(我希望他们这样做)。

而是使用 Debug 透视图中的内置调试器。它的功能就像其他任何可视化调试器一样。但是,如果您是新手,这里有一个快速链接:使用 Titanium 进行调试

另一种选择是使用printf()/console.log等价于 Titanium,即:

Titanium.API.info('On click');

但是为什么不单步执行代码并为自己省点麻烦。

于 2012-09-19T22:17:49.120 回答