我使用 Titanium appcelerator 创建了一个应用程序。在这里,我有 3 个 JS 文件,每个文件都有单独的“窗口”。当我单击第三个 JS 文件中的按钮时,是否可以关闭第二个 JS 文件的“窗口”。我已经尝试通过将第二个窗口名称传递给第三个 JS 文件然后在按钮单击事件上关闭它,但它没有用!
问问题
199 次
2 回答
0
Write this in window where button is
Ti.App.fireEvent('customEvent', nil);
And this in which window is to be closed
Ti.App.addEventListener('customEvent', function()
{
window.close();
});
于 2013-10-28T07:33:15.997 回答
0
你可以用一种简单的方式做到这一点。试试下面的代码。
我假设您目前在第二个窗口中
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 回答