0

Titanium appcelerator を使用してアプリを作成しました。ここでは、それぞれに個別の「ウィンドウ」を持つ 3 つの JS ファイルがあります。3番目のJSファイルのボタンをクリックすると、2番目のJSファイルの「ウィンドウ」を閉じることはできますか? 2番目のウィンドウ名を3番目のJSファイルに渡して試してみましたが、ボタンクリックイベントで閉じましたが、うまくいきませんでした!

4

2 に答える 2

0

ボタンがあるウィンドウにこれを書き込みます

Ti.App.fireEvent('customEvent', nil); 

そして、これでウィンドウが閉じられます

Ti.App.addEventListener('customEvent', function()
{
   window.close();
});
于 2013-10-28T07:33:15.997 に答える
0

簡単な方法でそれを行うことができます。次のコードを試してください。

現在、2番目のウィンドウにいると仮定しています

win2.js

var win2 = Ti.UI.createWindow({
    backgroundColor : '#123456'
});

var btnNewWindow = Ti.UI.createButton({
    title   : 'Open new window'
});

btnNewWindow.addEventListener('click', function(){

    var win3 = Ti.UI.createWindow({
        backgroundColor : '#abcdef',
        _previousWindow : Ti.UI.currentWindow,
        url     : 'win3.js' 
    });

    win3.open();
});

win2.add(btnNewWindow);
win2.open();

win3.js

var win3 = Ti.UI.currentWindow;

var btnClosePrevious = Ti.UI.createButton({
    title   : 'Close previous Window'
});

btnClosePrevious.addEventListener('click', function(){

    win3._previousWindow.close();
});

win3.add(btnClosePrevious);

ここでは、前のウィンドウの名前ではなく、前のウィンドウをパラメータとして渡しています。これはウィンドウ オブジェクトであり、previousWindow の close メソッドを呼び出すと、ウィンドウが閉じます。

私はそれを試しました、それは動作します。

それがあなたを助けたことを願っています

于 2013-10-27T14:42:58.523 に答える