在事件上调用另一个具有新窗口的js文件

时间:2012-12-04 10:53:53

标签: titanium

我在Titanium中开发示例android应用程序。在主窗口(app.js)它有一些按钮,现在我想要的是点击每个按钮app.js(主窗口)必须调用另一个javascript文件(他们将创建自己的新窗口。

but.addEventListener('click', function(e){

    call another .js file which will open new window
})

会欣赏一些指导

5 个答案:

答案 0 :(得分:2)

这不是那么难。含。 PARAMS。 首先创建另一个.js文件并创建一个函数,如下所示。

另一个.js文件

exports.createNewWindow(params) {
    var window = Ti.UI.createWindow ({
        // ... Your stuff with your params
    });
    return window;
}

您可以按如下方式调用此函数:

首先.js文件

var window = require("pathToYouAnotherFile.js").createNewWindow({title:"xyz"});
window.open();

如果您愿意,可以在“another.js”文件中调用window.open()。

玩得开心。

答案 1 :(得分:0)

你应该学习合金。正如您所问,它将帮助您正确构建应用程序。

http://projects.appcelerator.com/alloy/docs/Alloy-bootstrap/index.html

答案 2 :(得分:0)

我通过将一个事件从一个JS文件引发到另一个JS文件来处理这个问题。查看Ti.App.fireEvent('event',data)以触发事件,并查看Ti.App.addEventListener以接收事件。

答案 3 :(得分:0)

but.addEventListener('click', function(e){

var newwin=Ti.UI.createWindow({url:'another.js'});
 newwin.open();
});

它是一个简单的事件处理程序,我们在其中创建并打开一个窗口并在那之后打开.Url是所需窗口的文件。

Simple.Cheers !!

答案 4 :(得分:0)

var All = require('ui / common / All');

    Tree = require('ui/common/Tree');

    EBOM = require('ui/common/E-BOM');

    MBOM = require('ui/common/M-BOM');

    SBOM = require('ui/common/S-BOM');

//create object instance

var self = Ti.UI.createWindow({

    title:'Products',

    exitOnClose:true,

    navBarHidden:true,

    backgroundColor:'#ffffff',
    /////////////////////////////////////////////////////////////////////////////

    activity: {

        onCreateOptionsMenu: function(e) {

            var menu = e.menu;                        

            var menuItem = menu.add({ title: "C-BOM", icon: 'Arrow-Hover.jpg' });

            //menuItem.setIcon("Arrow-Hover.jpg");

            menuItem.addEventListener("click", function(e) {

                 var all = new All();

                        self.add(all);

            });

...................... ..................... ..........................