2012-11-15 103 views
0

我有一個問題。我有一個帶有一個listview主頁的小jQuery應用程序,它指向一個滑動頁面。在那裏你通過使用滑塊插入一個值。然後它將它傳遞到下一頁。在該頁面上顯示號碼。現在,如果我點擊左上角的後退按鈕,我想重新加載主頁,以便滑塊回到其原始位置,並且還沒有提供數字。第二次如何在頁面上重新加載頁面?

我在想這樣的事情,但它也不太工作:

$(document).on('pageinit', '#homepage', function(){ 
     if (number !== 0) { 
      location.reload(); 
     } 
}); 

這裏是我的項目: http://jsfiddle.net/9ytwt/1/

編輯:

我發現我的答案!

$('#homepage').bind('pageshow', function() { 
      location.reload(); 
}); 

回答

0

相反重裝,可以在一些瀏覽器/網頁視圖保存價值的,你可以嘗試: document.location = document.location,基本的頁面轉發給自己,彷彿點擊一個鏈接。

編輯: 首先,這裏有一些主要的設計缺陷。重新加載頁面只是爲了重置一些輸入是不正確的。其次,你不應該綁定到pageinit,而是綁定到pagebeforeshow,每次在頁面顯示之前觸發。

在你的代碼,你應該改變的頁面ID爲「pageWithSlider」或類似的東西,那麼你可以使用:

$(document).on("pagebeforeshow", "#pageWithSlider", function() { 
    $("#slider").val(20); 
}); 

可復位滑塊,每次顯示頁面的時間。

如果你想了解可以綁定到不同的事件:http://jquerymobile.com/test/docs/api/events.html

+0

沒錯,但問題是,該功能不起作用。如果我將location.reload()鏈接到它的按鈕。那麼你能給我一個有關我的代碼的實例嗎? – user1761155

+0

你的意思是'document.location = document.location'而不是'location.reload()'不起作用?如果沒有,它是否在控制檯中顯示錯誤? 如果您使用的是較舊的瀏覽器,則可能需要嘗試'window.location = window.location',看到該文檔有時是隻讀的。 – RadicalRaid

+0

不,我的意思是整個'$(document).on('pageinit','#homepage',function()'不起作用,請在問題中查看我的jsFiddle,然後你會看到如果你點擊一個back按鈕,並再次進入滑塊頁面,滑塊的值仍然位於推杆值上,而不是標準值20,因爲主頁應該已經刷新了。 – user1761155