2012-09-19 28 views
2

我是钛工作室的新手,我正在尝试为android开发一个应用程序。当我执行以下的功能(即,当我点击窗口上):钛工作室功能反向执行(安卓)

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

警报二把手“函数结束”被示出第一和警报数之一,“点击”被示出。

你有任何解决方案。提前致谢。

回答

0

在Titanium中,01​​调用是异步的(与网页浏览器不同)。 Heres the doc on it:

请注意,与基于Web浏览器的警报版本不同,此方法是异步的。但是,一次只能看到一个警报对话框并且可以显示模式。

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

你有两个警报触发从一个函数内部,第二警报没有先打开,他们是开放的顺序,所以当你打开第一alert('On Click')它被掩盖了(还是真的更换,因为只有一个警报一次显示)几乎立即打开第二个警报框。

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

思考在Javascript和钛的最佳做法:你应该永远使用alert()以特别调试JavaScript的现代,当您在您的处置有更强大的工具。即使在网络浏览器中(使用Web Developer Tools或Firebug)。此外,将来可能会从Titanium中删除此功能(我希望他们会这样做),如前所述。

改为使用Debug透视图中的内置调试器。它的功能就像任何其他可视化调试器一样。但这里是一个快速链接,如果你新来这个一般:Debugging with Titanium

另一种选择是使用printf()/console.log相当于钛的是:

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

但是,为什么不通过代码和省去一些麻烦。

+0

嘿,谢谢你的回答。这就说得通了。但是当我尝试与IOS相同时,它按预期工作。在Windows和MacOS中,钛的工作方式是否有所不同?感谢您提供的调试技巧。 – senthil

+0

是的,因为每个平台的实现都不同,请注意,doc一次只显示一个alert()是模态和可见的,因为它是一个本地组件,它们在不同平台(Android和iOS)上的功能会有所不同我的答案仍然正确。 TitaniumStudio对于Window和MacOS,Titanium的工作原理相同,每个设备的实现方式都不相同。 –

+0

谢谢Josiah。这很有帮助。 – senthil