2013-07-31 125 views
0

我使用jQuery Mobile的用於iPad上比劃擦撞後的作品。jQuery Mobile的刷卡功能,只刷新頁面

下面的代碼是在我的HTML文件中引用的文件。

我的HTML文件有:

<div data-role="page" id="device1"> 
<!--content for this part of html page --> 
</div> 
<!--more divs with incrementing id --> 
<div data-role="page" id="device4"> 
<!--content for this part of html page --> 
</div> 

這種格式在多個HTML文件中。

我用這個代碼(計算器上找到) - 沒有想貼在舊線。

$(document).ready(function() { 

    $('.ui-slider-handle').on('touchstart', function(){ 
     // When user touches the slider handle, temporarily unbind the page turn handlers 
     doUnbind(); 
    }); 

    $('.ui-slider-handle').on('mousedown', function(){ 
     // When user touches the slider handle, temporarily unbind the page turn handlers 
     doUnbind(); 
    }); 

    $('.ui-slider-handle').on('touchend', function(){ 
     //When the user let's go of the handle, rebind the controls for page turn 
     // Put in a slight delay so that the rebind does not happen until after the swipe has been triggered 
     setTimeout(function() {doBind();}, 100); 
    }); 

    $('.ui-slider-handle').on('mouseup', function(){ 
     //When the user let's go of the handle, rebind the controls for page turn 
     // Put in a slight delay so that the rebind does not happen until after the swipe has been triggered 
     setTimeout(function() {doBind();}, 100); 
    }); 

    // Set the initial window (assuming it will always be #1 
    window.now = 1; 

    //get an Array of all of the pages and count 
    windowMax = $('div[data-role="page"]').length; 

    doBind(); 
}); 


// Functions for binding swipe events to named handlers 
function doBind() { 
    $('div[data-role="page"]').on("swipeleft", turnPage); 
    $('div[data-role="page"]').on("swiperight", turnPageBack); 
} 

function doUnbind() { 
    $('div[data-role="page"]').die("swipeleft", turnPage); 
    $('div[data-role="page"]').die("swiperight", turnPageBack); 
} 

// Named handlers for binding page turn controls 
function turnPage(){ 
    // Check to see if we are already at the highest numbers page    
    if (window.now < windowMax) { 
     window.now++ 
     $.mobile.changePage("#device"+window.now, "slide", false, true); 
    } 
} 

function turnPageBack(){ 
    // Check to see if we are already at the lowest numbered page 
    if (window.now != 1) { 
     window.now--; 
     $.mobile.changePage("#device"+window.now, "slide", true, true); 
    } 
} 

// Named handlers for binding page turn controls 
function navigate_without_swipe(page){ 
    // Check to see if we are already at the highest numbers page    
    $.mobile.changePage("#device"+page, "slide"); 
} 

請告訴我爲什麼我需要重新加載頁面此JavaScript來由於您使用的$(document)工作

回答

0

。就緒

那是一個JQuery的事件。因爲網頁是由使用AJAX,這意味着該事件不會觸發JQM加載

jQuery Mobile的都有自己的加載事件。

我想你可能想要做的是在pageinit但檢查文檔,看看是否有愛茉莉您的具體情況適當的事件。

JQuery Mobile documentation

+0

歡呼聲回覆。 – user2630769

+0

還在試圖解決如何在這裏發佈!我嘗試了pageinit和pagechange事件,但仍然沒有運氣。在做這些評論時,你如何得到一個新的線,我繼續按下輸入並提交 – user2630769