@@ -1,44 +1,46 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../entries2html.xsl" ?>
<entry name="table" namespace="fn" type="widget" widgetnamespace="mobile" event-prefix="table">
<entry name="table" namespace="fn" type="widget" widgetnamespace="mobile" event-prefix="table" init-selector=":jqmData(role=&#39;table&#39;)">
<title>Table Widget</title>
<desc>Creates a responsive table</desc>
<longdesc>
<h2>Responsive tables</h2>
<p>One of the biggest challenges in responsive web design (RWD) is presenting tabular data. Large tables with lots of columns don't fit on smaller screens and there isn't a simple way to re-format the table content with CSS and media queries for an acceptable presentation. To address this, the framework offers two different options for presenting tables responsively. Each has benefits and tradeoffs, the right choice will depend on the data being presented.</p>
<p>One of the biggest challenges in responsive web design (RWD) is presenting tabular data. Large tables with lots of columns don't fit on smaller screens and there isn't a simple way to re-format the table content with CSS and media queries for an acceptable presentation. To address this, the framework offers two different options for presenting tables responsively. Each has benefits and tradeoffs, the right choice will depend on the data being presented.</p>

<p><a href="table-reflow">Reflow mode</a> - Re-formats the table columns at narrow widths so each row of data is presented as a formatted block of label/data pairs. This is ideal for tables with product or contact information with more complex or lengthy data formatting that doesn't need comparison across rows of data.</p>
<p><a href="table-reflow">Reflow mode</a> - Re-formats the table columns at narrow widths so each row of data is presented as a formatted block of label/data pairs. This is ideal for tables with product or contact information with more complex or lengthy data formatting that doesn't need comparison across rows of data.</p>

<p><a href="table-columntoggle">Column toggle mode</a> - Selectively hides columns at narrower widths as a sensible default but also offers a menu to let users manually control which columns they want to see. This mode is better for financial data tables that have compact values and need to maintain comparisons across columns and rows of data. It can also be used for building things like product comparison tables.</p>
<p><a href="table-columntoggle">Column toggle mode</a> - Selectively hides columns at narrower widths as a sensible default but also offers a menu to let users manually control which columns they want to see. This mode is better for financial data tables that have compact values and need to maintain comparisons across columns and rows of data. It can also be used for building things like product comparison tables.</p>

<p>The responsive table feature is built with a core table plugin (<code>table.js</code>) that initializes when the <code>data-role="table"</code> attribute is added to the markup. This plugin is very lightweight and adds <code>ui-table</code> class, parses the table headers and generates information on the columns of data, and fires a <code>tablecreate</code> event. Both the table modes, <a href="table-reflow">reflow</a> and <a href="table-columntoggle">column toggle</a>, are written as extensions to the table widget that hook in via the <code>create</code> event to add the additional behaviors that make the tables responsive. Reflow is the default mode so if the extension is present, it will be applied automatically if the <code>data-role="table"</code> attribute is on the table.</p>
<p>If only one mode is used on a project, the download builder tool can be used to package only the table plugin and the single extension to save code weight.</p>

<h3>General table markup guidelines</h3>
<p>The responsive table feature is built with a core table plugin (<code>table.js</code>) that initializes when the <code>data-role="table"</code> attribute is added to the markup. This plugin is very lightweight and adds <code>ui-table</code> class, parses the table headers and generates information on the columns of data, and fires a <code>tablecreate</code> event. Both the table modes, <a href="table-reflow">reflow</a> and <a href="table-columntoggle">column toggle</a>, are written as extensions to the table widget that hook in via the <code>create</code> event to add the additional behaviors that make the tables responsive. Reflow is the default mode so if the extension is present, it will be applied automatically if the <code>data-role="table"</code> attribute is on the table.</p>
<p>If only one mode is used on a project, the download builder tool can be used to package only the table plugin and the single extension to save code weight.</p>

<p>Here is the basic table markup you should use for both table modes:</p>

<pre><code>&lt;table data-role=&quot;table&quot; id=&quot;my-table&quot; data-mode=&quot;reflow&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Movie Title&lt;/th&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;&lt;abbr title=&quot;Rotten Tomato Rating&quot;&gt;Rating&lt;/abbr&gt;&lt;/th&gt;
&lt;th&gt;Reviews&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;td&gt;&lt;a href=&quot;foo.com&quot; data-rel=&quot;external&quot;&gt;Citizen Kane&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1941&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;74&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</code></pre>

<h3>General table markup guidelines</h3>

<p>Here is the basic table markup you should use for both table modes:</p>
<pre><code><![CDATA[
<table data-role="table" id="my-table" data-mode="reflow">
<thead>
<tr>
<th>Rank</th>
<th>Movie Title</th>
<th>Year</th>
<th><abbr title="Rotten Tomato Rating">Rating</abbr></th>
<th>Reviews</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td><a href="foo.com" data-rel="external">Citizen Kane</a></td>
<td>1941</td>
<td>100%</td>
<td>74</td>
</tr>
</tbody>
</table>
]]></code></pre>

<p>Both table modes start with standard HTML table markup but there are some specific guidelines you must follow for the responsive table to work correctly: </p>
<ul class="bullet">
@@ -51,25 +53,18 @@
<li>The first row of the table must contain the table headers, be sure to use <code>TH</code> instead of <code>TD</code> tags</li>
<li>To display longer table header text in the column chooser or reflow labels, wrap the text in the <code>TH</code> with a <code>abbr</code> element and set the <code>title</code>. This string will be used in place.</li>
</ul>

<h3>Styling and theming tables</h3>

<p>The responsive table plugin is as minimally styled as possible to give you a clean slate for your designs. The plugin focuses primarily on the difficult scripting elements: generating the labels for the reflow table and creating the button and column chooser popup. Out of the box, the table just has a few basic style rules to add a bit of padding and set the vertical alignment of cells to be top left for visual consistency. </p>
<p>The table will adapt to whatever content block it sits on, but there isn't an explicit theming attribute for this widget. We did this because it's simple enough to add theme classes like <code>ui-body-a</code> to individual cells if a more heavily themed look is wanted.</p>

<h3>Row strokes</h3>
<p>To add horizontal lines between each row, add a custom style to your stylesheet that adds a border to the table headers and cells. In this example, RGBA is used to set a color (black) at an opacity of 5% so this will work on any background color:</p>

<pre><code>.table-stroke thead th {
border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.table-stroke tbody th,
.table-stroke tbody td {
border-bottom: 1px solid rgba(0, 0, 0, .05);
}
</code></pre>
<p>This standard table stroke style can be also applied by adding <code>table-stroke</code> <code>class</code> to the <code>table</code> element. If you prefer a custom stroke style, use the example above as a starting point. Note that adding styles that set a color for the stroke will override a theme class so do not use these together.</p>


<h3>Styling and theming tables</h3>

<p>The responsive table plugin is as minimally styled as possible to give you a clean slate for your designs. The plugin focuses primarily on the difficult scripting elements: generating the labels for the reflow table and creating the button and column chooser popup. Out of the box, the table just has a few basic style rules to add a bit of padding and set the vertical alignment of cells to be top left for visual consistency. </p>
<p>The table will adapt to whatever content block it sits on, but there isn't an explicit theming attribute for this widget. We did this because it's simple enough to add theme classes like <code>ui-body-a</code> to individual cells if a more heavily themed look is wanted.</p>

<h3>Row strokes and stripes</h3>

<p>The theme CSS contains a preset row strokes and alternating row stripes style which can be applied by adding <code>table-stroke</code> or <code>table-stripe</code> class to the <code>table</code> element.</p>

<strong>Note: the <code>table-stroke</code> and <code>table-stripe</code> classes are deprecated as of jQuery Mobile 1.4.0 and will be removed in 1.5.0. The demos contain an example how to apply these styles with custom CSS.</strong>

</longdesc>
<added>1.3</added>
<options>
@@ -78,19 +73,12 @@
<p>The classes option is only configurable via JavaScript because it expects an object literal value.</p></desc>
<type name="String" />
</option>
<option name="initSelector" default='":jqmData(role=&#39;table&#39;)"'>
<desc>This is used to define the selectors (element types, data roles, etc.) that will automatically be initialized as tables. To change which elements are initialized, bind this option to the mobileinit event:
<pre><code>
$( document ).on( "mobileinit", function() {
$.mobile.table.prototype.options.initSelector = ".mytable";
});
</code></pre>
</desc>
<type name="CSS selector string" />
</option>
<xi:include href="../includes/widget-option-defaults.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<xi:include href="../includes/widget-option-disabled.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<xi:include href="../includes/widget-option-initSelector.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
</options>
<events>
<event name="create">
<event name="create">
<desc>Triggered when a table is created
</desc>
<argument name="event" type="Event">
@@ -102,39 +90,37 @@ $( document ).on( "mobileinit", function() {
</event>
</events>
<methods>
<method name="rebuild">
<desc>Re-process the entire table to ensure it is displayed correctly.</desc>
</method>
</methods>
<example>
<height>350</height>
<desc>A basic example of a reponsive table.</desc>
<html><![CDATA[
<div data-role="page" id="page1">
<div data-role="header">
<html><![CDATA[<div data-role="header">
<h1>jQuery Mobile Example</h1>
</div>
<div data-role="content">
<div role="main" class="ui-content">
<table data-role="table" id="my-table" data-mode="reflow">
<thead>
<tr>
<th>Rank</th>
<th>Movie Title</th>
<th>Year</th>
<th><abbr title="Rotten Tomato Rating">Rating</abbr></th>
<th>Reviews</th>
</tr>
<thead>
<tr>
<th>Rank</th>
<th>Movie Title</th>
<th>Year</th>
<th><abbr title="Rotten Tomato Rating">Rating</abbr></th>
<th>Reviews</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<td><a href="foo.com" data-rel="external">Citizen Kane</a></td>
<td>1941</td>
<td>100%</td>
<td>74</td>
</tr>
</tbody>
<tbody>
<tr>
<th>1</th>
<td><a href="foo.com" data-rel="external">Citizen Kane</a></td>
<td>1941</td>
<td>100%</td>
<td>74</td>
</tr>
</tbody>
</table>
</div>
</div>
]]></html>
</div>]]></html>
</example>
<category slug="widgets"/>
</entry>
@@ -6,72 +6,44 @@
<p>The jQuery Mobile <code>tap</code> event triggers after a quick, complete touch event that occurs on a single target object. It is the gesture equivalent of a standard click event that is triggered on the release state of the touch gesture.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<pre>
<code><![CDATA[
<style type="text/css">
div.box {
background-color: #598611;
height: 3em;
width: 3em;
}
div.box.tap {
background-color: #BB6F04;
}
</style>
...
<div class="box"></div>
...
$(function() {
// Bind the tapHandler callback function to the tap event on div.box
$( "div.box" ).on( 'tap', tapHandler );
// Callback function references the event target and adds the 'tap' class to it
function tapHandler( event ) {
$(event.target).addClass( "tap" );
}
});
]]></code>
</pre>
<p>Tap the green square to see the above code applied.
<iframe id="tapIframe" src="/resources/tap/example1.html" style="width:100%;height:90px;border:0px"></iframe></p>
</longdesc>
<added>1.0</added>
<signature>
<argument name="callback" type="Function" optional="true">
<desc>A function to invoke after the the tap event fires.</desc>
</argument>
</signature>
<example>
<height>120</height>
<desc>A simple example of the capturing and acting upon a tap event</desc>
<code><![CDATA[
$(function(){
$( "div.box" ).bind( "tap", tapHandler );
function tapHandler( event ){
$( event.target ).addClass( "tap" );
}
});
]]></code>
<css><![CDATA[
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 85px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 85px;
}
#nav {
font-size: 200%;
width:17.1875em;
margin:17px auto 0 auto;
}
#nav a {
color: #777;
border: 2px solid #777;
background-color: #ccc;
padding: 0.2em 0.6em;
text-decoration: none;
float: left;
margin-right: 0.3em;
}
#nav a:hover {
color: #999;
border-color: #999;
background: #eee;
}
#nav a.selected,
#nav a.selected:hover {
color: #0a0;
border-color: #0a0;
background: #afa;
}
div.box {
width: 3em;
height: 3em;
background-color: #108040;
}
div.box.tap {
background-color: #7ACEF4;
}
]]></css>
<html><![CDATA[
<h3>Tap the green square to see the above code applied:</h3>
<div class="box"></div>
]]></html>
</example>
<category slug="events"/>
</entry>
@@ -1,78 +1,54 @@
<?xml version="1.0"?>
<entry name="tap" type="event" return="jQuery">
<entry name="taphold" type="event" return="jQuery">
<title>taphold</title>
<desc>Triggered after a sustained complete touch event.</desc>
<longdesc>
<p>The jQuery Mobile <code>taphold</code> event triggers after a sustained, complete touch event (also known as a long press).</p>
<p>The jQuery Mobile <code><placeholder name="name"/></code> event triggers after a sustained, complete touch event (also known as a long press).</p>

<p><code>$.event.special.tap.tapholdThreshold</code> (default: 750) - This value dictates how long the user must hold their tap before the taphold event is fired on the target element.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<p><code>$.event.special.tap.emitTapOnTaphold</code> (default: true) - This value dictates whether a tap event will be emitted along with the <placeholder name="name"/> event.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<pre>
<code><![CDATA[
<style type="text/css">
div.box {
background-color: #598611;
height: 3em;
width: 3em;
}
div.box.taphold {
background-color: #BB6F04;
}
</style>
...
<h3>Long-press (taphold) the green square to change its color:</h3>
<div class="box"></div>
...
$(function() {
// Bind the tapholdHandler callback function to the taphold event on div.box
$( "div.box" ).on( 'taphold', tapholdHandler );
// Callback function references the event target and adds the 'tap' class to it
function tapholdHandler( event ) {
$(event.target).addClass( "taphold" );
}
});
]]></code>
</pre>
<p>Long press the square for 750 milliseconds to see the above code applied.
<iframe id="tapholdIframe" src="/resources/taphold/example1.html" style="width:100%;height:90px;border:0px"></iframe></p>
</longdesc>
<added>1.0</added>
<signature>
<argument name="callback" type="Function" optional="true">
<desc>A function to invoke after the the taphold event fires.</desc>
</argument>
</signature>
<example>
<height>120</height>
<desc>A simple example of the capturing and acting upon a taphold event</desc>
<code><![CDATA[
$(function(){
$( "div.box" ).bind( "taphold", tapholdHandler );
function tapholdHandler( event ){
$( event.target ).addClass( "taphold" );
}
});
]]></code>
<css><![CDATA[
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 85px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 85px;
}
#nav {
font-size: 200%;
width:17.1875em;
margin:17px auto 0 auto;
}
#nav a {
color: #777;
border: 2px solid #777;
background-color: #ccc;
padding: 0.2em 0.6em;
text-decoration: none;
float: left;
margin-right: 0.3em;
}
#nav a:hover {
color: #999;
border-color: #999;
background: #eee;
}
#nav a.selected,
#nav a.selected:hover {
color: #0a0;
border-color: #0a0;
background: #afa;
}
div.box {
width: 3em;
height: 3em;
background-color: #108040;
}
div.box.taphold {
background-color: #7ACEF4;
}
]]></css>
<html><![CDATA[
<h3>Long press the square for 750 milliseconds to see the above code applied:</h3>
<div class="box"></div>
]]></html>
</example>
<category slug="events"/>
</entry>

Large diffs are not rendered by default.

@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../entries2html.xsl" ?>
<entry name="theme">
<title>Theme</title>
<desc>jQuery Mobile Theme</desc>
<longdesc>
<h2>Theming Concepts</h2>
<p>The jQuery Mobile theme provides the CSS framework necessary for providing a consistent and touch-friendly look and feel for your widgets across platforms. It is built around the following essential concepts:</p>
<h3>Swatches</h3>
<p>A swatch is one of several colour schemes provided by your theme. We use single-letter designations for swatches. The default jQuery Mobile theme provides two swatches. The "a" swatch is a neutral, gray swatch, and the "b" swatch has a darker color scheme designed to contrast with the "a" swatch. You can use "b" to draw special attention to elements in a user interface styled with "a", and vice versa.</p>
<p>The <a href="http://jquerymobile.com/themeroller/">ThemeRoller</a> allows you to create any number of swatches for a custom theme.</p>
<h3>Active state</h3>
<p>The theme defines an "active" state separately from all the swatches. The intention is to give immediate feedback upon a user action if there should be a brief processing delay. For example, most mobile devices implement a 300ms delay between the time when the user lifts her finger from the touchscreen and the triggering of the "click" event. jQuery Mobile adds the "active" state to a button whenever the device is poised to emit a "click" event so the user receives immediate feedback that the application is committed to processing the "click" in the next 300ms.</p>
<h3>Theme inheritance</h3>
<p>You do not need to specify a swatch for every widget you create. Despite this, most widgets have a "theme" option set to <code>null</code> by default so you may override the swatch for an individual widget. The default value of <code>null</code> makes it sufficient to specify a swatch on the outermost container for your user interface. The swatch will then be inherited by all the widgets in the container.</p>
<p>You can override the swatch for portions of a container by specifying a theme swatch for one of its subcontainers. <br /><strong>Note:</strong> Because of the nature of CSS, you cannot repeatedly alternate between two swatches.</p>
<p>If you use a widget outside a jQuery Mobile <a href="/page/">page</a> (or you don't use pages at all) and there is no themed ancestor you have to set the theme option or add the applicable theme class in your markup if you want the widget to be styled. For example, if your panel markup is outside the page and it has a listview inside, you have to set a swatch on the panel for the panel to be styled properly. However, once you set the swatch for the panel, the listview will inherit the swatch from the panel.</p>
</longdesc>
<category slug="css-framework"/>
</entry>
@@ -3,33 +3,37 @@
<title>throttledresize</title>
<desc>Enables bookmarkable #hash history.</desc>
<longdesc>
<p>The jQuery Mobile <code>throttledresize</code> event is a special event that prevents browsers from running continuous callbacks on resize. <code>throttledresize</code> is used internally for orientationchange in browsers like Internet Explorer. <code>throttledresize</code> ensures that a held event will execute after the timeout so logic that depends on the final conditions after a resize is complete will still execute properly.</p>
<p>The <code>throttledresize</code> event is triggered if orientationchange is not natively supported.</p>
<p>The jQuery Mobile <code>throttleresize</code> event is a special event that prevents browsers from running continuous callbacks on resize. <code>throttleresize</code> is used internally for orientationchange in browsers like Internet Explorer. <code>throttleresize</code> ensures that a held event will execute after the timeout so logic that depends on the final conditions after a resize is complete will still execute properly.</p>
<p>The <code>throttleresize</code> event is triggered if orientationchange is not natively supported.</p>
<p>This event triggers when the browser window resizes from:</p>
<ol>
<li>an orientation change (orientation-enabled device);</li>
<li>changes in dimension ratio that replicates a landspace/portrait change (resizing a desktop browser).</li>
</ol>
<ol>
<li>an orientation change (orientation-enabled device);</li>
<li>changes in dimension ratio that replicates a landspace/portrait change (resizing a desktop browser).</li>
</ol>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<pre><code><![CDATA[
var count = 0;
$(function() {
// Bind an event handler to window throttledresize event that, when triggered,
// passes a reference of itself that is accessible by the callback function.
$( window ).on( "throttledresize", throttledresizeHandler );
<pre>
<code><![CDATA[
var count = 0;
$(function() {
/*
Bind an event handler to window's throttledresize event that, when triggered,
passes a reference of itself that is accessible by the callback function.
*/
$(window).on( 'throttledresize', throttledresizeHandler );
function throttledresizeHandler( event ) {
$( "#output-text" ).html( "Event Count: " + ++count );
}
function throttledresizeHandler( event ) {
$( "#output-text" ).html( 'Event Count: ' + ++count );
}
// You can also manually force this event to fire.
$( window ).trigger( "throttledresize" );
});
]]></code></pre>
// You can also manually force this event to fire.
$(window).trigger( "throttledresize" );
});
]]></code>
</pre>
<p>Visit this from your orientation-enabled device to see it in action!
<iframe id="throttledresizeIframe" src="/resources/throttledresize/example1.html" style="width:100%;height:90px;border:0px"></iframe></p>

</longdesc>
<added>1.0</added>
<signature>

Large diffs are not rendered by default.

@@ -7,11 +7,11 @@
<p>This event is triggered by components within the framework that dynamically show/hide content, and is meant as a generic mechanism to notify other components that they may need to update their size or position. Within the framework, this event is fired on the component element whose content was shown/hidden, and bubbles all the way up to the document element. </p>

<pre><code>$( "#foo" ).hide().trigger( "updatelayout" );</code></pre>

</longdesc>
<added>1.0</added>
<signature>

</signature>
<category slug="events"/>
</entry>
@@ -4,42 +4,25 @@
<title>vclick</title>
<desc>Virtualized click event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>"vclick"</code> event handler simulates the "onclick" event handler on mobile devices.</p>
<p style="font-style:italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>
<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( document ).on( "vclick", "p", function() {
$( this ).append( "<span style='color:#108040;'> vclick fired... </span>" );
});
]]></code></pre>

<pre><code><![CDATA[
$( document ).on( "vclick", "p", function() {
$( this ).append( "<span style='color:#00F;'>vmouseup fired.</span>" );
});
]]></code></pre>
<p>
<iframe src="/resources/vclick/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>

<div class="warning"><h4>Warning: Use vclick with caution</h4>
<p> Use vclick with caution on touch devices. Webkit based browsers synthesize <code>mousedown</code>, <code>mouseup</code>, and <code>click</code> events roughly 300ms after the <code>touchend</code> event is dispatched. The target of the synthesized mouse events are calculated at the time they are dispatched and are based on the location of the touch events and, in some cases, the implementation specific heuristics which leads to different target calculations on different devices and even different OS versions for the same device. This means the target element within the original touch events could be different from the target element within the synthesized mouse events.</p>
<p>We recommend using <code>click</code> instead of <code>vclick</code> anytime the action being triggered has the possibility of changing the content underneath the point that was touched on screen. This includes page transitions and other behaviors such as collapse/expand that could result in the screen shifting or content being completely replaced.</p>
</div>
<div class="warning"><h4>Canceling an element's default click behavior</h4>
<p>Applications can call <code>preventDefault()</code> on a <code>vclick</code> event to cancel an element's default click behavior. On mouse based devices, calling <code>preventDefault()</code> on a <code>vclick</code> event equates to calling <code>preventDefault()</code> on the real <code>click</code> event during the bubble event phase. On touch based devices, it's a bit more complicated since the actual <code>click</code> event is dispatched about 300ms after the <code>vclick</code> event is dispatched. For touch devices, calling <code>preventDefault()</code> on a <code>vclick</code> event triggers some code in the vmouse plugin that attempts to catch the next <code>click</code> event that gets dispatched by the browser, during the capture event phase, and calls <code>preventDefault()</code> and <code>stopPropagation()</code> on it. As mentioned in the warning above, it is sometimes difficult to match up a touch event with its corresponding mouse event because the targets can differ. For this reason, the vmouse plugin also falls back to attempting to identify a corresponding <code>click</code> event by coordinates. There are still cases where both target and coordinate identification fail, which results in the <code>click</code> event being dispatched and either triggering the default action of the element, or in the case where content has been shifted or replaced, triggering a click on a different element. If this happens on a regular basis for a given element/control, we suggest you use <code>click</code> for triggering your action.</p>
</div>

<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>

</signature>
<methods>
<method name="preventDefault">
<desc>
A function to invoke in the event binding to prevent the synthetic click event by the browser.
</desc>
</method>
</methods>
<category slug="events"/>
</entry>
@@ -4,24 +4,17 @@
<title>vmousecancel</title>
<desc>Virtualized mousecancel event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>vmousecancel</code> event handler is called whenever the system cancels a virtualized mouse event. This event occurs when a scroll is triggered. jQuery Mobile will fire a "vmousecancel" event in this instance.</p>
<p style="font-style:italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>
<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>

</signature>
<methods>
<method name="preventDefault">
<desc>
A function to invoke in the event binding to prevent the synthetic click event by the browser.
</desc>
</method>
</methods>
<category slug="events"/>
</entry>
@@ -3,28 +3,21 @@
<title>vmousedown</title>
<desc>Virtualized mousedown event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>vmousedown</code> event handler simulates the "onmousedown" event handler on mobile devices.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( function () {
$( document ).on( "vmousedown", "p", function() {
$( this ).append( "<span style='color:#108040;'> vmousedown fired...</span>" );
});
]]></code></pre>
<p style="font-style: italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
<pre>
<code><![CDATA[
$( function () {
$( document ).on( "vmousedown", "p", function() {
$( this ).append( "<span style='color:#00F;'>Mouse down.</span>" );
});
]]></code>
</pre>
<p>
<iframe src="/resources/vmousedown/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>
<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
@@ -3,37 +3,17 @@
<title>vmousemove</title>
<desc>Virtualized mousemove event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>vmousemove</code> event handler simulates the "onmousemove" event handler on mobile devices.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( function () {
$( document ).on ( "vmousemove", "#target", function(event) {
var msg = "Handler for .vmousemove() called at ";
msg += event.pageX + ", " + event.pageY;
$( "#log" ).append( " <div>" + msg + "</div>" );
});
]]></code></pre>
<p style="font-style: italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>

<p>
<iframe src="/resources/vmousemove/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>
<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<methods>
<method name="preventDefault" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>
</method>

</signature>
</methods>
<category slug="events"/>
</entry>
@@ -3,35 +3,28 @@
<title>vmouseout</title>
<desc>Virtualized mouseout event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>vmouseout</code> event handler simulates the "onmouseout" event handler on mobile devices.</p>
<p style="font-style: italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>

<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( document ).on( "vmouseout", "p", function() {
$( this ).append ( "<span style='color:#108040;'> vmouseout fired...</span>" );
});
]]></code></pre>

<pre>
<code><![CDATA[
$( function () {
$( document ).on( "vmouseout", "p", function() {
$( this ).append ( "<span style='color:#00F;'>Mouse out.</span>" );
});
]]></code>
</pre>
<p>
<iframe src="/resources/vmouseout/example1.html" style="width:100%;height:90px;border:0px"></iframe>
<iframe src="/resources/vmousedown/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>

<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>

</signature>
<category slug="events"/>
</entry>
@@ -4,35 +4,25 @@
<title>vmouseover</title>
<desc>Virtualized mouseover event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>"vmouseover"</code> event handler simulates the "onmouseover" event handler on mobile devices.</p>
<p style="font-style:italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>
<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( document ).on( "vmouseover", "p", function() {
$( this ).append( "<span style='color:#108040;'> vmouseover fired...</span>" );
});
]]></code></pre>

<pre><code><![CDATA[
$( document ).on( "vmouseover", "p", function() {
$( this ).append( "<span style='color:#00F;'>vmouseover fired.</span>" );
});
]]></code></pre>
<p>
<iframe src="/resources/vmouseover/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>

<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>

</signature>
<methods>
<method name="preventDefault">
<desc>
A function to invoke in the event binding to prevent the synthetic click event by the browser.
</desc>
</method>
</methods>
<category slug="events"/>
</entry>
@@ -4,34 +4,25 @@
<title>vmouseup</title>
<desc>Virtualized mouseup event handler.</desc>
<longdesc>
<p>We provide a set of "virtual" mouse events that attempt to abstract away mouse and touch events. This allows the developer to register listeners for the basic mouse events, such as mousedown, mousemove, mouseup, and click, and the plugin will take care of registering the correct listeners behind the scenes to invoke the listener at the fastest possible time for that device. In touch environments, the plugin retains the order of event firing that is seen in traditional mouse environments, so for example, vmouseup is always dispatched before vmousedown, and vmousedown before vclick, etc. The virtual mouse events also normalize how coordinate information is extracted from the event, so in touch based environments, coordinates are available from the pageX, pageY, screenX, screenY, clientX, and clientY properties, directly on the event object.</p>
<p>The jQuery Mobile <code>"vmouseup"</code> event handler simulates the "onmouseup" event handler on mobile devices.</p>
<p style="font-style:italic;">The idea behind virtualized mouse events is to translate touch events into mouse events to compensate for the missing mouse event triggers. Developers should be aware that these virtualized mouse events will not prevent any synthetic mouse events from being triggered inside the browser after a touch event. If a mouse-type device is used on the system, the virtualized mouse events are dispatched at the same time as the normal mouse events.</p>
<xi:include href="../includes/core-extension-desc.xml" xmlns:xi="http://www.w3.org/2003/XInclude"/>

<pre><code><![CDATA[
$( document ).on( "vmouseup", "p", function() {
$( this ).append( "<span style='color:#108040;'> vmouseup fired...</span>" );
});
]]></code></pre>

<pre><code><![CDATA[
$( document ).on( "vmouseup", "p", function() {
$( this ).append( "<span style='color:#00F;'>vmouseup fired.</span>" );
});
]]></code></pre>
<p>
<iframe src="/resources/vmouseup/example1.html" style="width:100%;height:90px;border:0px"></iframe>
</p>

<dd><p>The virtual mouse events can also be configured:</p>
<ul>
<li><code>$.vmouse.moveDistanceThreshold</code> (default: 10px) – More than this, then it is a scroll event. The vmousecancel event is called and the TouchMove event is cancelled.</li>
<li><code>$.vmouse.clickDistanceThreshold</code> (default: 10px) – If a vclick event was already captured and is in the block list, then vclicks less than this distance are ignored.</li>
<li><code>$.vmouse.resetTimerDuration</code> (default: 1500ms) – More time than this, then it is not a touch event. Scroll, TouchMove and TouchEnd events use this. The block list is cleared.</li>
</ul>
</dd>
</longdesc>
<added>1.0</added>
<signature>
<argument name="preventDefault" type="Function" optional="true">
<desc>A function to invoke in the event binding to prevent the synthetic click event by the browser.</desc>
</argument>

</signature>
<methods>
<method name="preventDefault">
<desc>
A function to invoke in the event binding to prevent the synthetic click event by the browser.
</desc>
</method>
</methods>
<category slug="events"/>
</entry>
@@ -9,16 +9,18 @@
&lt;meta charset="utf-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;<xsl:value-of select="//entry/@name"/> demo&lt;/title&gt;
&lt;link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css"&gt;
&lt;script src="//code.jquery.com/jquery-1.9.1.min.js"&gt;&lt;/script&gt;
&lt;script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"&gt;&lt;/script&gt;<xsl:if test="css">
&lt;link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css"&gt;
&lt;script src="//code.jquery.com/jquery-1.10.2.min.js"&gt;&lt;/script&gt;
&lt;script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"&gt;&lt;/script&gt;<xsl:if test="css">
&lt;style&gt;<xsl:value-of select="css/text()"/> &lt;/style&gt;</xsl:if>
&lt;/head&gt;
&lt;body&gt;
<xsl:value-of select="html/text()"/>
<xsl:if test="code">
&lt;script&gt;<xsl:value-of select="code/text()"/>&lt;/script&gt;
</xsl:if>

&lt;div data-role="page"&gt;
<xsl:value-of select="html/text()"/>
&lt;/div&gt;<xsl:if test="code">
&lt;script&gt;<xsl:value-of select="code/text()"/>&lt;/script&gt;</xsl:if>

&lt;/body&gt;
&lt;/html&gt;
</xsl:template>
@@ -38,7 +38,7 @@ grunt.initConfig({
watch: {
scripts: {
files: 'entries/*.xml',
tasks: ['build'],
tasks: ['wordpress-deploy'],
options: {
interrupt: true
}
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<span>
<h2 id="providing-pre-rendered-markup">Providing pre-rendered markup</h2>
<p>You can improve the load time of your page by providing the markup that the <placeholder name="name"/> widget would normally create during its initialization.</p>
<p>By providing this markup yourself, and by indicating that you have done so by setting the attribute <code>data-enhanced="true"</code>, you instruct the <placeholder name="name"/> widget to skip these DOM manipulations during instantiation and to assume that the required DOM structure is already present.</p>
<p>When you provide such pre-rendered markup you must also set all the classes that the framework would normally set, and you must also set all data attributes whose values differ from the default to indicate that the pre-rendered markup reflects the non-default value of the corresponding widget option.</p>
</span>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<event name="create">
<desc>
Triggered when the <placeholder name="name"/> is created.
</desc>
<argument name="event" type="Event"/>
<argument name="ui" type="Object"/>
</event>
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<method name="destroy">
<desc>
Removes the <placeholder name="name"/> functionality completely. This will return the element back to its pre-init state.
</desc>
</method>
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<method name="disable">
<desc>
Disables the <placeholder name="name"/>.
</desc>
</method>
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<method name="enable">
<desc>
Enables the <placeholder name="name"/>.
</desc>
</method>
@@ -0,0 +1,30 @@
<?xml version="1.0"?>
<method name="option" return="jQuery">
<desc>
Sets one or more options for the <placeholder name="name"/>.
</desc>
<signature return="Object" example-return-var="isDisabled" example-params='"disabled"'>
<desc>Gets the value currently associated with the specified <code>optionName</code>.</desc>
<argument name="optionName" type="String">
<desc>The name of the option to get.</desc>
</argument>
</signature>
<signature return="PlainObject" example-return-var="options">
<desc>Gets an object containing key/value pairs representing the current <placeholder name="name"/> options hash.</desc>
</signature>
<signature example-params='"disabled", true'>
<desc>Sets the value of the <placeholder name="name"/> option associated with the specified <code>optionName</code>.</desc>
<argument name="optionName" type="String">
<desc>The name of the option to set.</desc>
</argument>
<argument name="value" type="Object">
<desc>A value to set for the option.</desc>
</argument>
</signature>
<signature example-params="{ disabled: true }">
<desc>Sets one or more options for the <placeholder name="name"/>.</desc>
<argument name="options" type="Object">
<desc>A map of option-value pairs to set.</desc>
</argument>
</signature>
</method>
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<method name="widget" return="jQuery" example-return-var="widget">
<desc>
Returns a <code>jQuery</code> object containing the <placeholder name="widget-element"/>.
</desc>
</method>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<option name="defaults" default="false" example-value="true">
<desc>
Seting this option to <code>true</code> indicates that other widgets options have default values and causes jQuery Mobile's widget autoenhancement code to omit the step where it retrieves option values from data attributes. This can improve startup time.
<p>This option is also exposed as a data attribute: <code>data-defaults="true"</code>.</p>
</desc>
<type name="Boolean" />
</option>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<option name="disabled" default="false" example-value="true">
<desc>
Disables the <placeholder name="name"/> if set to <code>true</code>.
<p>This option is also exposed as a data attribute: <code>data-disabled="true"</code>.</p>
</desc>
<type name="Boolean" />
</option>
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<option name="enhanced" default="false" example-value="true">
<desc>Indicates that the markup necessary for a <placeholder name="name"/> widget has been provided as part of the original markup.
<p>This option is also exposed as a data attribute: <code>data-enhanced="true"</code>.</p>
</desc>
<type name="Boolean"/>
</option>
@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<option name="initSelector" default="See below" deprecated="1.4.0">
<desc>
<p>The default <code>initSelector</code> for the <placeholder name="name" /> widget is:</p>
<pre><code>
"<placeholder name="init-selector"/>"
</code></pre>
<div class="warning">
<p><strong>Note:</strong> This option is deprecated in 1.4.0 and will be removed in 1.5.0.<br />
As of jQuery Mobile 1.4.0, the <code>initSelector</code> is no longer a widget option. Instead, it is declared directly on the widget prototype. Thus, you may specify a custom value by handling the <code>mobileinit</code> event and overwriting the <code>initSelector</code> on the prototype:</p>
<pre><code>
$( document ).on( "mobileinit", function() {
$.mobile.<placeholder name="name"/>.prototype.initSelector = "div.custom";
});
</code></pre>
</div>
<p><strong>Note:</strong> Remember to attach the <code>mobileinit</code> handler after you have loaded jQuery, but before you load jQuery Mobile, because the event is triggered as part of jQuery Mobile's loading process.</p>
<p>The value of this option is a jQuery selector string. The framework selects elements based on the value of this option and instantiates <placeholder name="name" /> widgets on each of the resulting list of elements.</p>
</desc>
<type name="Selector" />
</option>
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<option name="mini" default="null (false)">
<desc>If set to <code>true</code>, this will display a more compact version of the <placeholder name="name"/> that uses less vertical height by applying the <code>ui-mini</code> class to the outermost element of the <placeholder name="name"/> widget.
<p>This option is also exposed as a data attribute: <code>data-mini="true"</code>.</p>
</desc>
<type name="Boolean" />
</option>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<option name="theme" default="null, inherited from parent" example-value='"b"'>
<desc>
Sets the color scheme (swatch) for the <placeholder name="name" /> widget. It accepts a single letter from a-z that maps to the swatches included in your theme.
<p>Possible values: swatch letter (a-z).</p>
<p>This option is also exposed as a data attribute: <code>data-theme="b"</code>.</p>
</desc>
<type name="String" />
</option>
@@ -22,7 +22,7 @@
"grunt": "0.3.17",
"grunt-clean": "0.3.0",
"grunt-wordpress": "1.0.7",
"grunt-jquery-content": "0.10.4",
"grunt-jquery-content": "0.10.7",
"grunt-check-modules": "0.1.0",
"grunt-contrib-watch": "0.1.4"
},

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -2,26 +2,27 @@
"title": "Icons",
"excerpt": "A list of the icons provided by jQuery Mobile.",
"termSlugs": {
"category": [ "reference" ]
"category": [ "jqmicons" ]
}
}</script>


<h2>Icons</h2>

<p>jQuery Mobile provides a number of icons that can be used by applying a <code>data-icon</code> attribute to <a href="button/#option-icon">buttons</a>, <a href="navbar/#option-iconPos">navbar elements</a>, <a href="listview/#option-icon">linked list items</a> and <a href="selectmenu/#option-icon">select menus</a>, <code>data-collapsed-icon</code> and <code>data-expanded-icon</code> to <a href="collapsible/#option-collapsedIcon">collapsibles</a> and <a href="collapsible-set/#option-collapsedIcon">collapsible-sets</a>, and <code>data-split-icon</code> to split <a href="listview/#option-splitIcon">listviews</a>. The icon name is self-describing. For example, the following will display a button with a home icon:</p>
<p>jQuery Mobile provides a number of icons that can be used by applying a <code>data-icon</code> attribute or a <code>ui-icon-</code> class to a suitable widget.<br />
There is an SVG and PNG image of each icon. By default the SVG icons, that look great on both SD and HD screens, are used. On platforms that don't support SVG the framework falls back to PNG icons. The icon name is self-describing. For example, the following will display a button with a home icon:</p>

<pre><code>
<a href="index.html" data-role="button" data-icon="home">Home</a>
<a href="index.html" class="ui-btn ui-icon-home ui-btn-icon-left">Home</a>
</code></pre>


<p>The following is a full list of the icons provided:</p>

<p><iframe src="/resources/icons-list.html" style="width:100%;height:350px;border:0px"></iframe></p>
<p><iframe src="/resources/icons-list.html" style="width:100%;height:750px;border:0px"></iframe></p>

<h2>Icons and themes</h2>
<p>The semi-transparent black circle behind the white icon ensures good contrast on any background color so it works well with the jQuery Mobile theming system. Here are examples of the same icons sitting on top of a range of different color swatches with themed buttons.</p>

<p><iframe src="/resources/button/example17.html" style="width:100%;height:450px;border:0px"></iframe></p>
<p><iframe src="/resources/buttonMarkup/example17.html" style="width:100%;height:450px;border:0px"></iframe></p>

@@ -0,0 +1,10 @@
<script>{
"title": "Tabs Widget",
"added": "1.4",
"excerpt": "A single content area with multiple panels, each associated with a header in a list.",
"termSlugs": {
"category": [ "widgets" ]
}
}</script>

<p>This widget is imported unchanged from <a href="http://jqueryui.com/">jQuery UI</a>. Nevertheless, in keeping with jQuery Mobile widget features, the options documented on its jQuery UI API <a href="http://api.jqueryui.com/tabs/">reference</a> page are also available as <code>data-*</code> attributes.</p>

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

@@ -0,0 +1,38 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 85px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 85px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
.custom-button {
border: 3px dashed;
border-color: red !important;
}
</style>
</head>

<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div role="main" class="ui-content">
<form>
<input type="button" value="The Button" data-wrapper-class="custom-button"></input>
</form>
</div>
</div>
</body>
</html>
@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 85px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 85px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
.custom-button {
border: 3px dashed;
border-color: red !important;
}
</style>
</head>

<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div role="main" class="ui-content">
<form>
<div class="ui-btn ui-input-btn ui-shadow">
The Button
<input type="button" data-corners="false" data-enhanced="true" value="The Button"></input>
</div>
</form>
</div>
</div>
</body>
</html>
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<input type="button" value="Button" />
</div>
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<input type="submit" value="Submit Button" />
</div>
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<input type="reset" value="Reset Button" />
</div>
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<a href="index.html" data-role="button">Link button</a>
</div>
</div>
</body>
</html>

@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 1965px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 1965px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
</style>
</head>

<body>
<div data-role="page" style="max-height:1970px; min-height:1970px;">
<div role="main" class="ui-content">
<p><strong>Bars</strong> - data-icon="bars"</p>
<a href="index.html" data-role="button" data-icon="bars">My button</a>
<strong>Edit</strong> - data-icon="edit"</p>
<a href="index.html" data-role="button" data-icon="edit">My button</a>
<strong>Left arrow</strong> - data-icon="arrow-l"</p>
<a href="index.html" data-role="button" data-icon="arrow-l">My button</a>
<p><strong>Right arrow</strong> - data-icon="arrow-r"</p>
<a href="index.html" data-role="button" data-icon="arrow-r">My button</a>
<p><strong>Up arrow</strong> - data-icon="arrow-u"</p>
<a href="index.html" data-role="button" data-icon="arrow-u">My button</a>
<p><strong>Down arrow</strong> - data-icon="arrow-d"</p>
<a href="index.html" data-role="button" data-icon="arrow-d">My button</a>
<p><strong>Delete</strong> - data-icon="delete"</p>
<a href="index.html" data-role="button" data-icon="delete">My button</a>
<p><strong>Plus</strong> - data-icon="plus"</p>
<a href="index.html" data-role="button" data-icon="plus">My button</a>
<p><strong>Minus</strong> - data-icon="minus"</p>
<a href="index.html" data-role="button" data-icon="minus">My button</a>
<p><strong>Check</strong> - data-icon="check"</p>
<a href="index.html" data-role="button" data-icon="check">My button</a>
<p><strong>Gear</strong> - data-icon="gear"</p>
<a href="index.html" data-role="button" data-icon="gear">My button</a>
<p><strong>Refresh</strong> - data-icon="refresh"</p>
<a href="index.html" data-role="button" data-icon="refresh">My button</a>
<p><strong>Forward</strong> - data-icon="forward"</p>
<a href="index.html" data-role="button" data-icon="forward">My button</a>
<p><strong>Back</strong> - data-icon="back"</p>
<a href="index.html" data-role="button" data-icon="back">My button</a>
<p><strong>Grid</strong> - data-icon="grid"</p>
<a href="index.html" data-role="button" data-icon="grid">My button</a>
<p><strong>Star</strong> - data-icon="star"</p>
<a href="index.html" data-role="button" data-icon="star">My button</a>
<p><strong>Alert</strong> - data-icon="alert"</p>
<a href="index.html" data-role="button" data-icon="alert">My button</a>
<p><strong>Info</strong> - data-icon="info"</p>
<a href="index.html" data-role="button" data-icon="info">My button</a>
<p><strong>Home</strong> - data-icon="home"</p>
<a href="index.html" data-role="button" data-icon="home">My button</a>
<p><strong>Search</strong> - data-icon="search"</p>
<a href="index.html" data-role="button" data-icon="search">My button</a>
</div>
</div>
</body>
</html>
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="left">Delete</a>
</div>
</div>
</body>
</html>

@@ -1,30 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 355px;
height: 375px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 355px;
min-height: 375px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<div data-role="page" style="max-height:360px; min-height:360px;">
<div data-role="content" >
<body>
<div data-role="page" style="max-height:380px; min-height:380px;">
<div role="main" class="ui-content">
<p>Creates this button with right-aligned icon:</p>
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="right">Delete</a>
<p>Icons can also be positioned above the text by specifying <code> data-iconpos="top"</code></p>
@@ -35,4 +35,3 @@
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:60px; min-height:60px;">
<div data-role="content" >
<div role="main" class="ui-content">
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="notext">Delete</a>
</div>
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,11 +20,11 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="left" data-mini="true" data-inline="true">Delete</a>
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="right" data-mini="true" data-inline="true">Delete</a>
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="top" data-mini="true" data-inline="true">Delete</a>
@@ -34,4 +34,3 @@
</div>
</body>
</html>

@@ -1,30 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 445px;
height: 345px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 445px;
min-height: 345px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<div data-role="page" style="max-height:450px; min-height:450px;">
<div data-role="content" >
<body>
<div data-role="page" style="max-height:350px; min-height:350px;">
<div role="main" class="ui-content">
<p><strong>Swatch "a"</strong> themed buttons</p>
<div data-role="controlgroup" data-type="horizontal">
<a href="index.html" data-role="button" data-icon="bars" data-iconpos="notext" data-theme="a" data-inline="true">My button</a>
@@ -75,31 +75,6 @@
<a href="index.html" data-role="button" data-icon="home" data-iconpos="notext" data-theme="b" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="search" data-iconpos="notext" data-theme="b" data-inline="true">My button</a>
</div>
<p><strong>Swatch "c"</strong> themed buttons</p>
<div data-role="controlgroup" data-type="horizontal">
<a href="index.html" data-role="button" data-icon="bars" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="edit" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="arrow-l" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="arrow-r" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="arrow-u" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="arrow-d" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="delete" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="plus" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="minus" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="check" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
</div>
<div data-role="controlgroup" data-type="horizontal">
<a href="index.html" data-role="button" data-icon="gear" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="refresh" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="forward" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="back" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="grid" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="star" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="alert" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="info" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="home" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
<a href="index.html" data-role="button" data-icon="search" data-iconpos="notext" data-theme="c" data-inline="true">My button</a>
</div>
</div>
</div>
</body>
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 85px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 85px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
</style>
</head>

<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div role="main" class="ui-content">
<a href="index.html" data-role="button" class="ui-state-disabled">Link button</a>
</div>
</div>
</body>
</html>
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,11 +20,11 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:250px; min-height:250px;">
<div data-role="content" >
<div role="main" class="ui-content">
<p>By default, all buttons in the body content are styled as block-level elements so they fill the width of the screen:</p>
<a href="index.html" data-role="button">Button</a>
<p>However, if you want a more compact button that is only as wide as the text and icons inside, add the <code> data-inline="true"</code> attribute to the button:</p>
@@ -33,4 +33,3 @@
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,11 +20,11 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:220px; min-height:220px;">
<div data-role="content" >
<div role="main" class="ui-content">
<p>The result is this:</p>
<a href="index.html" data-role="button" data-inline="true">Cancel</a>
<a href="index.html" data-role="button" data-theme="b" data-inline="true">Save</a>
@@ -35,4 +35,3 @@
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,12 +20,12 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:220px; min-height:220px;">
<div data-role="content" >
<p>When an icon is added to an inline button, the button will grow wider to accommodate the icon:</p>
<div role="main" class="ui-content">
<p>When an icon is added to an inline button, the button will grow wider to accommodate the icon:</p>
<a href="index.html" data-role="button" data-icon="delete" data-inline="true">Cancel</a>
<a href="index.html" data-role="button" data-icon="check" data-theme="b" data-inline="true">Save</a>
<p>A mini version of the same:</p>
@@ -35,4 +35,3 @@
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,11 +20,11 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:150px; min-height:150px;">
<div data-role="content" >
<div role="main" class="ui-content">
<div data-role="controlgroup">
<a href="index.html" data-role="button">Yes</a>
<a href="index.html" data-role="button">No</a>
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,11 +20,11 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:550px; min-height:550px;">
<div data-role="content" >
<div role="main" class="ui-content">
<p>Horizontal grouped buttons:</p>
<div data-role="controlgroup" data-type="horizontal">
<a href="index.html" data-role="button">Yes</a>
@@ -63,4 +63,3 @@
</div>
</body>
</html>

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
@@ -20,14 +20,13 @@
padding:10px 15px 0px 15px;
}
</style>
</head>
</head>

<body>
<body>
<div data-role="page" style="max-height:90px; min-height:90px;">
<div data-role="content" >
<div role="main" class="ui-content">
<a href="index.html" data-role="button" data-mini="true">Link button</a>
</div>
</div>
</body>
</html>

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="//code.jquery.com/mobile/git/jquery.mobile-git.min.css" />
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/git/jquery.mobile-git.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 235px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 235px;
}
.ui-content{
padding:10px 15px 0px 15px;
}
</style>
</head>

<body>
<div data-role="page" style="max-height:240px; min-height:240px;">
<div role="main" class="ui-content">
<div class="ui-body ui-body-a"><h4>Swatch "a"</h4><a href="index.html" data-role="button">Button</a></div>
<div class="ui-body ui-body-b"><h4>Swatch "b"</h4><a href="index.html" data-role="button">Button</a></div>
</div>
</div>
</body>
</html>