2012-10-12 25 views
0

我創建這個簡單的登錄應用在手機鈦..這裏是我的代碼:如何關閉其他的鈦手機上的JS文件的模態窗口?

Login.js

function Login() { 
    var loginView = Titanium.UI.createView({ 
     backgroundColor:'#C4FBFF', 
     layout:'vertical' 
    }); 

    var txtUsername = Titanium.UI.createTextField({ 
     width:'75%', 
     hintText:'Username', 
     borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED 
    }); 

    var txtPassword = Titanium.UI.createTextField({ 
     width:'75%', 
     hintText:'Password', 
     borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED, 
     passwordMask:true 
    }); 

    var btnLogin = Titanium.UI.createButton({ 
     title:'Login', 
     width:'75%' 
    }); 

    loginView.add(txtUsername); 
    loginView.add(txtPassword); 
    loginView.add(btnLogin); 

    btnLogin.addEventListener('click',function(e){ 
     var alertDialog = Titanium.UI.createAlertDialog({ 
      title: 'Confirmation', 
      message: 'You will be logged in as ' + txtUsername.value + ', continue?', 
      buttonNames: ['Yes','No'] 
     }); 

     alertDialog.addEventListener('click',function(e){ 
      if (e.index === 0){ //Yes Pressed 
       var MainMenu = require('ui/common/MainMenu'); 

       var mainMenuWindow = Titanium.UI.createWindow({ 
        backgroundColor:'#336699', 
        title:'Main Menu', 
        modal:true 
       }); 

       var mainMenu = new MainMenu(); 
       mainMenuWindow.add(mainMenu); 

       mainMenuWindow.open(); 
      } 
      else{ // No Pressed 
       makeAlert('Login','Please contact your system administrator'); 
      } 
     }); 

     alertDialog.show(); 
    }); 

    function makeAlert(title, message) { 
     var customAlertDialog = Titanium.UI.createAlertDialog({ 
      title: title, 
      message: message, 
      buttonNames: ['Ok'] 
     }); 
     return customAlertDialog.show(); 
    } 

    return loginView; 
} 

module.exports = Login; 

,這是我MainMenu.js:

function MainMenu(){ 
    var mainMenuView = Titanium.UI.createView({ 
     backgroundColor:'#C4FBFF', 
     layout:'vertical' 
    }); 

    var btnClose = Titanium.UI.createButton({ 
     title:'Close', 
     height:30, 
     width:150 
    }); 

    mainMenuView.add(btnClose); 

    btnClose.addEventListener('click',function(e){ 
    //What should i do here? 
    }); 
    return mainMenuView; 
}  
module.exports = MainMenu; 

的主要問題是我想在按下關閉按鈕時關閉模式窗口。我試過Titanium.UI.currentWindow.close(),但它關閉了我的所有應用程序,並且無法在iOS設備上執行。任何建議?許多感謝..

回答

3
// pass parent window in as parameter 
var mainMenu = new MainMenu(mainMenuWindow); 
mainMenuWindow.add(mainMenu); 

現在使用的參數

function MainMenu(_parent /*parent window*/){ 

    // other code ... 

    btnClose.addEventListener('click',function(e){ 
     _parent.close(); 
    }); 

} 
+0

WOOW ..它很好地亞倫..非常感謝! –