2

私はTitaniumStudioを初めて使用し、Android用のアプリケーションを開発しようとしています。次の関数を実行したとき(つまり、ウィンドウをクリックしたとき):

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

アラート番号2の「機能の終了」が最初に表示され、アラート番号1の「クリック時」が表示されます。

これに対する解決策はありますか?前もって感謝します。

4

1 に答える 1

0

Titaniumでは、alert()呼び出しは非同期です(Webブラウザーとは異なります)。ここにそのドキュメントがあります:

アラートのWebブラウザベースのバージョンとは異なり、メソッドは非同期であることに注意してください。ただし、一度に1つのアラートダイアログのみが表示され、モーダルになります。

このメソッドは将来削除される可能性があることに注意してください。

1つの関数内から2つのアラートがトリガーされ、2番目のアラートは最初に開かず、順番に開いているため、最初のアラートを開くと、alert('On Click')ほとんどすぐに隠されます(または、一度に1つのアラートしか表示されないため実際に置き換えられます)。 2番目のアラートボックスを開きます。

このため、1つの関数で複数のアラート呼び出しを行うことはできません。

JavascriptとTitaniumのベストプラクティスについて考える:特に、はるかに堅牢なツールを自由に使用できる場合は、最新のjavascriptのデバッグに使用しないでください。alert()Webブラウザでも(Web開発ツールまたはFirebugを使用)。また、この機能は、前述のように、将来的にTitaniumから削除される可能性があります(削除されることを願っています)。

代わりに、デバッグパースペクティブで組み込みデバッガーを使用してください。他のビジュアルデバッガと同じように機能します。しかし、これが一般的に初めての場合は、ここにクイックリンクがあります:Titaniumを使用したデバッグ

もう1つのオプションは、チタンと同等のprintf()/を使用することです。console.log

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

しかし、コードをステップスルーして、問題を回避してみませんか。

于 2012-09-19T22:17:49.120 に答える