私のアプリには、#main、#new、#existing の 3 つのページがあります。
#new が読み込まれるたびに、それが #menu または #existing から来たかどうかを検出したいと思います。この情報に応じて、何もしないか、そのフォームに入力する必要があります。
前のページの正しいコマンドとDOMの正しい処理の両方に関して、これをどのように達成できますか?
私のアプリには、#main、#new、#existing の 3 つのページがあります。
#new が読み込まれるたびに、それが #menu または #existing から来たかどうかを検出したいと思います。この情報に応じて、何もしないか、そのフォームに入力する必要があります。
前のページの正しいコマンドとDOMの正しい処理の両方に関して、これをどのように達成できますか?
あなたの # によると、これらのページは dom 要素である必要があります。JavaScriptで変数を使用して、すべてのステップでこれを確認してください。
そしてその後、あなたが本当にやりたいことをしてください。
var lastPage = '';
/* This code from jQuery Mobile, link is below the code. */
// Define a click binding for all anchors in the page
$( "a" ).on( "click", function( event ){
// Prevent the usual navigation behavior
event.preventDefault();
// Alter the url according to the anchor's href attribute, and
// store the data-foo attribute information with the url
$.mobile.navigate( this.attr( "href" ), {
lastPage: this.attr("data-foo") // store data here
});
// Hypothetical content alteration based on the url. E.g, make
// an AJAX request for JSON data and render a template into the page.
alterContent( this.attr("href") );
});
HTML の例
<a href="foo.bar" data-foo="main">Main Page</a>
<a href="foo.bar" data-foo="new">New Page</a>
<a href="foo.bar" data-foo="existing">Existing Page</a>
データは何でも作成できます。データだけが重要で、その後はすべてを使用できます。これは単なる HTML5 DOM 属性です。
編集:
ナビゲーションページを確認することをお勧めします。その後、概念をよりよく理解できます。コードソース: http://view.jquerymobile.com/1.3.2/dist/demos/widgets/navigation/
pagebeforehide
やなどの jQuery-Mobile ページ イベントを利用しpageshow
ます。
id
移動する前に現在のページを保存します。
var prevPage;
$(document).on('pagebeforehide', function () {
prevPage = $.mobile.activePage[0].id;
});
宛先ページがアクティブな場合、保存されている前のページを取得しますid
。
$(document).on('pageshow', function () {
$(this).find('.destination').text('Previous Page: ' + prevPage);
});