2013-10-17 18 views
0

我正在使用多頁面模板結構,這實際上意味着用戶可以在模板內的任何一個頁面上啓動。jquery移動多頁第一頁初始化

無論用戶啓動哪個頁面,我都想執行一次操作(然後當用戶在頁面之間導航時,操作不能重複)。

$('#my1page').on('pageinit', function(event){ 
    // blahblah setup websocket 
}); 
$('#my_other_page').on('pageinit', function(event){ 
// blahblah setup websocket 
}); 
$('#and_heres_another_page').on('pageinit', function(event){ 
// blahblah setup websocket 
}); 

所以我希望將所有上述共同只是

$('#FIRST-WHATEVER-PAGE-USER-NAVIGATES-INTO').on('pageinit', function(event){ 
// blahblah setup websocket 
}); 

在正常情況下我會使用的document.ready(),但是這是一個非常大的NO-NO的jquerymobile。

+0

嘗試'$(文件)。在( 'pageinit',函數(){}代碼)。 off('pageinit');' – Omar

+0

@Omar完全不起作用。事件不會被解僱一次。 – user1847576

+0

用'[data-role = page]'替換'document''。 – Omar

回答

0
$(document).on('pageinit', function() 
{ 
    //do something here 
}); 

這應該爲文檔中的所有頁面執行這項工作,同樣如果您稍後動態添加一些頁面。

編輯:看看的。對()函數的語法jQuery中

click me

+0

那麼這個實際上是在每一個pageinit被觸發。但是我稍微修改了一下,在開始處添加變量: 'var wasUsed = false; 的$(document)。在( 'pageinit',函數(){ 如果 (wasUsed)回報; wasUsed = TRUE; });當然' – user1847576

+0

,認爲僅定位的$(document)方面的問題; ) – tronc