jQuery Mobile exposes several methods and properties on the $.mobile object for use in your applications.
$.mobile.changePage
(method)·
Argumentsto
(string or object, required)
$("#about")
)options
(object, optional)
allowSamePageTransition
(boolean, default: false) By default, changePage() ignores requests to change to the current active page. Setting this option to true, allows the request to execute. Developers should note that some of the page transitions assume that the fromPage and toPage of a changePage request are different, so they may not animate as expected. Developers are responsible for either providing a proper transition, or turning it off for this specific case.changeHash
(boolean, default: true) Decides if the hash in the location bar should be updated. data
(object or string, default: undefined) The data to send with an Ajax page request.
dataUrl
(string, default: undefined) The URL to use when updating the browser location upon changePage completion.
If not specified, the value of the data-url attribute of the page element is used.pageContainer
(jQuery collection, default: $.mobile.pageContainer) Specifies the element that should contain the page. reloadPage
(boolean, default: false) Forces a reload of a page, even if it is already in the DOM of the page container.
reverse
(boolean, default: false) Decides what direction the transition will run when showing the page. role
(string, default: undefined) The data-role value to be used when displaying the page. By default this is undefined which means rely on the value of the @data-role attribute defined on the element.showLoadMsg
(boolean, default: true) Decides whether or not to show the loading message when loading external pages.transition
(string, default: $.mobile.defaultPageTransition) The transition to use when showing the page. type
(string, default: "get") Specifies the method ("get" or "post") to use when making a page request.
//transition to the "about us" page with a slideup transition
$.mobile.changePage( "about/us.html", { transition: "slideup"} );
//transition to the "search results" page, using data from a form with an id of "search"
$.mobile.changePage( "searchresults.php", {
type: "post",
data: $("form#search").serialize()
});
//transition to the "confirm" page with a "pop" transition without tracking it in history
$.mobile.changePage( "../alerts/confirm.html", {
transition: "pop",
reverse: false,
changeHash: false
});
$.mobile.loadPage
(method)·
Argumentsurl
(string or object, required) A relative or absolute URL.options
(object, optional)
data
(object or string, default: undefined) The data to send with an Ajax page request. loadMsgDelay
(number (in ms), default: 50) Forced delay before the loading message is shown. This is meant to allow time for a page that has already been visited to be fetched from cache without a loading message.pageContainer
(jQuery collection, default: $.mobile.pageContainer) Specifies the element that should contain the page after it is loaded. reloadPage
(boolean, default: false) Forces a reload of a page, even if it is already in the DOM of the page container. role
(string, default: undefined) The data-role value to be used when displaying the page. By default this is undefined which means rely on the value of the @data-role attribute defined on the element.type
(string, default: "get") Specifies the method ("get" or "post") to use when making a page request.
//load the "about us" page into the DOM
$.mobile.loadPage( "about/us.html" );
//load a "search results" page, using data from a form with an id of "search"
$.mobile.loadPage( "searchresults.php", {
type: "post",
data: $("form#search").serialize()
});
$.fn.jqmData(), $.fn.jqmRemoveData()
(method)jqmData
and jqmRemoveData
should be used in place of jQuery core's data
and removeData
methods (note that this includes $.fn.data, $.fn.removeData, and the $.data, $.removeData, and $.hasData utilities), as they automatically incorporate getting and setting of namespaced data attributes (even if no namespace is currently in use).·
Arguments:undefined
. This behavior is subject to change in future versions.
·
Also::jqmData()
, as it automatically incorporates namespaced data attributes into the lookup when they are in use. For example, instead of calling $("div[data-role='page']")
, you should use $("div:jqmData(role='page')")
, which internally maps to $("div[data-"+ $.mobile.ns +"role='page']")
without forcing you to concatenate a namespace into your selectors manually.$.fn.jqmEnhanceable()
(method)data-enhance=false
parent elements during manual enhancement or custom plugin authoring jQuery Mobile provides the $.fn.jqmEnhanceable
filter method.·
Settings:$.mobile.ignoreContentEnabled
is set to true, this method will traverse the parent nodes for each DOM element in the jQuery object and where it finds a data-enhance=false
parent the child will be removed from the set.·
Warning:$.fn.jqmHijackable()
(method)data-ajax=false
parent elements during custom form and link binding jQuery Mobile provides the $.fn.jqmHijackable
filter method.·
Settings:$.mobile.ignoreContentEnabled
is set to true, this method will traverse the parent nodes for each DOM element in the jQuery object and where it finds a data-ajax=false
parent the child form or link will be removed from the set.·
Warning:$.mobile.showPageLoadingMsg
(method)·
Argumentstheme
(string, default: "a") The theme swatch for the message.msgText
(string, default: "loading") The text of the message.textonly
(boolean, default: false) If true, the "spinner" image will be hidden when the message is shown.
//cue the page loader
$.mobile.showPageLoadingMsg();
//use theme swatch "b", a custom message, and no spinner
$.mobile.showPageLoadingMsg("b", "This is only a test", true);
$.mobile.hidePageLoadingMsg
(method)
//hide the page loader
$.mobile.hidePageLoadingMsg();
$.mobile.fixedToolbars.show
(method)·
Argumentsimmediately
(boolean, optional) If true, any fixed header or footer for the current active page is displayed immediately within the viewport. If false or unspecified, the fixed header/footer will fade-in after a 100 millisecond delay. Note that other events such as a document resize or scroll event can result in an additional delay before the start of the header/footer display animation.
// Show fixed header/footer with a fade animation.
$.mobile.fixedToolbars.show();
// Show fixed header/footer immediately.
$.mobile.fixedToolbars.show(true);
$.mobile.fixedToolbars.hide
(method)·
Argumentsimmediately
(boolean, optional) If true, any fixed header or footer for the current active page is immediately placed inline (back in flow) with the page content, which means it will scroll along with the content and will only be visible when viewing the top or bottom of the page within the viewport. If false or unspecified, the fixed header/footer will fade-out after a 100 millisecond delay. Note that other events such as a document resize or scroll event can result in the header/footer being immediately hidden.
// Hide fixed header/footer with a fade animation.
$.mobile.fixedToolbars.hide();
// Hide fixed header/footer immediately.
$.mobile.fixedToolbars.hide(true);
$.mobile.path.parseUrl
(method)·
Argumentsurl
(string, required) A relative or absolute URL.·
Return ValueThis function returns an object that contains the various components of the URL as strings. The properties on the object mimic the browser's location object:
hash
host
hostname
href
pathname
port
protocol
search
But it also contains additional properties that provide access to additional components as well as some common forms of the URL developers access:
authority
directory
domain
filename
hrefNoHash
hrefNoSearch
password
username
// Parsing the Url below results an object that is returned with the
// following properties:
//
// obj.href: https://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content
// obj.hrefNoHash: https://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread
// obj.hrefNoSearch: http://jblas:password@mycompany.com:8080/mail/inbox
// obj.domain: http://jblas:password@mycompany.com:8080
// obj.protocol: http:
// obj.authority: jblas:password@mycompany.com:8080
// obj.username: jblas
// obj.password: password
// obj.host: mycompany.com:8080
// obj.hostname: mycompany.com
// obj.port: 8080
// obj.pathname: /mail/inbox
// obj.directory: /mail/
// obj.filename: inbox
// obj.search: ?msg=1234&type=unread
// obj.hash: #msg-content
var obj = $.mobile.path.parseUrl("https://jblas:password@mycompany.com:8080/mail/inbox?msg=1234");
$.mobile.path.makePathAbsolute
(method)·
ArgumentsrelPath
(string, required) A relative file or directory path.absPath
(string, required) An absolute file or relative path to resolve against.·
Return Value
// Returns: /a/b/c/file.html
var absPath = $.mobile.path.makePathAbsolute("file.html", "/a/b/c/bar.html");
// Returns: /a/foo/file.html
var absPath = $.mobile.path.makePathAbsolute("../../foo/file.html", "/a/b/c/bar.html");
$.mobile.path.makeUrlAbsolute
(method)relUrl
(string, required) A relative URL.absUrl
(string, required) An absolute URL to resolve against.
// Returns: https://foo.com/a/b/c/file.html
var absUrl = $.mobile.path.makeUrlAbsolute("file.html", "https://foo.com/a/b/c/test.html");
// Returns: https://foo.com/a/foo/file.html
var absUrl = $.mobile.path.makeUrlAbsolute("../../foo/file.html", "https://foo.com/a/b/c/test.html");
// Returns: http://foo.com/bar/file.html
var absUrl = $.mobile.path.makeUrlAbsolute("//foo.com/bar/file.html", "https://foo.com/a/b/c/test.html");
// Returns: https://foo.com/a/b/c/test.html?a=1&b=2
var absUrl = $.mobile.path.makeUrlAbsolute("?a=1&b=2", "https://foo.com/a/b/c/test.html");
// Returns: https://foo.com/a/b/c/test.html#bar
var absUrl = $.mobile.path.makeUrlAbsolute("#bar", "https://foo.com/a/b/c/test.html");
$.mobile.path.isSameDomain
(method)·
Argumentsurl1
(string, required) A relative URL.url2
(string, required) An absolute URL to resolve against.
// Returns: true
var same = $.mobile.path.isSameDomain("https://foo.com/a/file.html", "https://foo.com/a/b/c/test.html");
// Returns: false
var same = $.mobile.path.isSameDomain("file://foo.com/a/file.html", "https://foo.com/a/b/c/test.html");
// Returns: false
var same = $.mobile.path.isSameDomain("https://foo.com/a/file.html", "https://foo.com/a/b/c/test.html");
// Returns: false
var same = $.mobile.path.isSameDomain("https://foo.com/a/file.html", "https://bar.com/a/b/c/test.html");
$.mobile.path.isRelativeUrl
(method)·
Argumentsurl
(string, required) A relative or absolute URL.·
Return Value
// Returns: false
var isRel = $.mobile.path.isRelativeUrl("https://foo.com/a/file.html");
// Returns: true
var isRel = $.mobile.path.isRelativeUrl("//foo.com/a/file.html");
// Returns: true
var isRel = $.mobile.path.isRelativeUrl("/a/file.html");
// Returns: true
var isRel = $.mobile.path.isRelativeUrl("file.html");
// Returns: true
var isRel = $.mobile.path.isRelativeUrl("?a=1&b=2");
// Returns: true
var isRel = $.mobile.path.isRelativeUrl("#foo");
$.mobile.path.isAbsoluteUrl
(method)·
Argumentsurl
(string, required) A relative or absolute URL.·
Return Value
// Returns: true
var isAbs = $.mobile.path.isAbsoluteUrl("https://foo.com/a/file.html");
// Returns: false
var isAbs = $.mobile.path.isAbsoluteUrl("//foo.com/a/file.html");
// Returns: false
var isAbs = $.mobile.path.isAbsoluteUrl("/a/file.html");
// Returns: false
var isAbs = $.mobile.path.isAbsoluteUrl("file.html");
// Returns: false
var isAbs = $.mobile.path.isAbsoluteUrl("?a=1&b=2");
// Returns: false
var isAbs = $.mobile.path.isAbsoluteUrl("#foo");
$.mobile.path.get
(method)·
Argumentsurl
(string, required) A relative or absolute URL.·
Return Value
// Returns: https://foo.com/a/
var dirName = $.mobile.path.get("https://foo.com/a/file.html");
// Returns: https://foo.com/a/
var dirName = $.mobile.path.get("https://foo.com/a/");
// Returns: https://foo.com/a
var dirName = $.mobile.path.get("https://foo.com/a");
// Returns: //foo.com/a/
var dirName = $.mobile.path.get("//foo.com/a/file.html");
// Returns: /a/
var dirName = $.mobile.path.get("/a/file.html");
// Returns: ""
var dirName = $.mobile.path.get("file.html");
// Returns: /
var dirName = $.mobile.path.get("/file.html");
// Returns: ?a=1&b=2
var dirName = $.mobile.path.get("?a=1&b=2");
// Returns: foo
var dirName = $.mobile.path.isAbsoluteUrl("#foo");
$.mobile.base
(methods, properties)$.mobile.silentScroll
(method)·
Arguments:yPos
(number, defaults to 0). Pass any number to scroll to that Y location.
//scroll to Y 100px
$.mobile.silentScroll(100);
$.mobile.activePage
(property)