Pergunta

Estou desenvolvendo uma Página Única Hybrid/Cordova aplicação, com base no IBM Worklight 6.1 e jQuery Mobile 1.4.

Na minha Página Inicial, eu tenho uma caixa de pop-up que mostra uma senha de entrada e um botão de login.Quando eu toque no botão de início de sessão, o método jQuery (mostrado abaixo) captura o evento de início de sessão e me leva para as Ferramentas de Administração página, como eu esperava.

Até aí tudo bem, mas, de repente, um novo "pagechange" evento é jogado a partir de qualquer Worklight (wljq.js) ou jQuery Mobile (jquery.mobile-1.4.0.js)) e eu ser chutado de volta para a Página Inicial.

Alguém por favor pode me ajudar a descobrir o que está acontecendo?

$('#adminToolsLoginButton').on('tap', function() {
    var password = $('#adminToolsPasswordInput').val();
    if (password === adminToolsPassword) {
        $( ":mobile-pagecontainer" ).pagecontainer( "change", "#adminTools", { } );
    } else {
        WL.Logger.debug('Wrong admin password');
        alert('Wrong admin password');
        $( ":mobile-pagecontainer" ).pagecontainer( "change", "#myHome", { } );
    }
});

Melhores cumprimentos, Magnus.

Foi útil?

Solução

Obrigado pelo seu feedback.

O problema agora está resolvido!

O problema estava relacionado com o jQuery Mobile Widget pop-up que queria me levar de volta para a página de onde foi localizado e foi aberto a partir de.É este, talvez, um erro?

Eu resolvi o problema usando o 'afterclose" eventos como mostrado abaixo:

        var isLogin = false;

    $('#adminToolsLoginButton').on('tap', function() {
        var password = $('#adminToolsPasswordInput').val();
        if(password === adminToolsPassword){
            isLogin = true;
        }
        else{
            isLogin = false;
            WL.Logger.debug('Wrong admin password');
            alert('Wrong admin password');
        }
    }); 

    $( "#popupAdminLoginDialog" ).on( "popupafterclose", function( event, ui ) {
        if(isLogin){
            $( ":mobile-pagecontainer" ).pagecontainer( "change", "#adminTools", { } );
        }
        isLogin = false;
    } );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top