2012-11-22 50 views
1

我去後,這條瘋狗......我也跟着大量的頁面,甚至在這裏堆棧溢出,但我不能讓它工作jQuery Mobile的&科爾多瓦事件Pageinit綁定不會工作

Bootstrap.js

var jqmReady = $.Deferred(), 
pgReady = $.Deferred(); 

// jqm page is ready 
$(document).bind("pageinit", jqmReady.resolve); 

// phonegap ready 
document.addEventListener("deviceready", pgReady.resolve, false); 

// all ready, throw a custom 'PG_pageinit' event 
$.when(jqmReady, pgReady).then(function() { 
    $(document).trigger("xpageinit"); 
}); 

的index.html

$(document).bind("xpageinit", function(){ 


//Login Page 
$('#login').live('pagebeforeload',function(event){ 


    $('a').buttonMarkup({ inline: true }); 
    $("#logo").fadeIn('slow', function(){ 
     $(this).animate({'top': '-=80px'},'slow', function(){ 
     $(".formLogin").fadeIn('slow'); 
     });  
    }); 

    }); 

    }); 

但無論如何這不會工作,什麼建議嗎? 謝謝

+0

這是經過測試並且沒有xpageinit ,所以在標記或類似的東西中沒有問題...我也測試了xpageinit,它也可以工作=/ – user976746

+0

你可以嘗試從等式中取出jquery promise,看看事件綁定是否正常工作,就像一個起點 – Aaron

+0

我不明白爲什麼它不工作...我們綁定時,都準備好綁定其他事件...如果我把一個警告()後「$(document).bind(」xpageinit「,函數(){「它工作,但$('#login')。live('pagebeforeload',function(event){」根本不會被調用 – user976746

回答

1

我相信你可能會綁定到錯誤的方法。而不是綁定到pagebeforeload,嘗試綁定到pagebeforeshow事件。當框架要加載外部頁面時,會引發pagebeforeload。我只是在這裏猜測,因爲你沒有給出更多關於#login是什麼的細節(我假設它是一個帶有data-role =「page」屬性的div。

+0

我已經知道了,謝謝,這是錯誤的方法在錯誤的順序;) – user976746

+0

很高興你明白了。 – Aaron