<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Ben Forta&apos;s Blog - jQuery</title>
			<link>http://forta.com/blog/index.cfm</link>
			<description>The web, app development, mobile, ColdFusion, gadgets, and whatever else tickles my fancy.</description>
			<language>en-us</language>
			<pubDate>Wed, 19 Jun 2013 10:07:15 -0400</pubDate>
			<lastBuildDate>Mon, 27 May 2013 17:14:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>ben@forta.com</managingEditor>
			<webMaster>ben@forta.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>ben@forta.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Flexicious Data Grid, Updated, And Now For HTML</title>
				<link>http://forta.com/blog/index.cfm/2013/5/27/Flexicious-Data-Grid-Updated-And-Now-For-HTML</link>
				<description>
				
				It&apos;s been quite a while since I last mentioned &lt;a href=&quot;http://flexicious.com/&quot;&gt;Flexicious&lt;/a&gt;, the incredibly powerful and flexible Flex datagrid. Well, the Flexicious team have been busy, and have released a new Spark-based datagrid and charting engine as &lt;a href=&quot;http://blog.flexicious.com/post/Flexicious-30-Release-Dashboard-and-Charting-Edition.aspx&quot;&gt;Flexicious 3&lt;/a&gt;. In addition, they have released &lt;a href=&quot;http://blog.flexicious.com/post/Introducing-the-HTMLTreeGrid-Render-HierarchicalNested-as-well-as-Flat-Data-in-JQuery-DOJO-and-Sencha-EXT-JS-based-HTML5JavaScript-RIA-Apps-like-never-before!.aspx&quot;&gt;HTMLTreeGrid&lt;/a&gt;, a JavaScript port of their Flex DataGrid, built on top of jQuery, DOJO, and EXT-JS.
				</description>
				
				<category>jQuery</category>
				
				<category>HTML5</category>
				
				<category>Flex</category>
				
				<category>JavaScript</category>
				
				<pubDate>Mon, 27 May 2013 17:14:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2013/5/27/Flexicious-Data-Grid-Updated-And-Now-For-HTML</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile 1.3.1 Released</title>
				<link>http://forta.com/blog/index.cfm/2013/4/14/jQuery-Mobile-131-Released</link>
				<description>
				
				I completely missed this one last week (hey, &lt;a href=&quot;http://max.adobe.com/&quot;&gt;MAX&lt;/a&gt; is just weeks away, that&apos;s my excuse!). &lt;a href=&quot;http://jquerymobile.com/blog/2013/04/10/announcing-jquery-mobile-1-3-1/&quot;&gt;jQuery Mobile 1.3.1&lt;/a&gt; was released with about 50 fixes and improvements to the library.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Sun, 14 Apr 2013 23:08:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2013/4/14/jQuery-Mobile-131-Released</guid>
				
				
			</item>
			
			<item>
				<title>Appliness March 2013 Is Out</title>
				<link>http://forta.com/blog/index.cfm/2013/3/9/Appliness-March-2013-Is-Out</link>
				<description>
				
				&lt;a href=&quot;http://www.appliness.com/march-issue-with-lea-verou/&quot;&gt;&lt;img src=&quot;http://d3lyjx0kn8fidq.cloudfront.net/wp-content/uploads/2013/03/ipad-cover-lea-big1-242x216.png&quot; class=&quot;float&quot;&gt;&lt;/a&gt;The &lt;a href=&quot;http://www.appliness.com/march-issue-with-lea-verou/&quot;&gt;March 2013 issue of Appliness&lt;/a&gt; features an interview with W3C champion &lt;a href=&quot;http://lea.verou.me/&quot;&gt;Lea Verou&lt;/a&gt;, as well as lots of JavaScript, jQuery, PhoneGap, and CSS goodness.
				</description>
				
				<category>jQuery</category>
				
				<category>PhoneGap</category>
				
				<category>HTML5</category>
				
				<category>JavaScript</category>
				
				<pubDate>Sat, 09 Mar 2013 23:37:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2013/3/9/Appliness-March-2013-Is-Out</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile 1.3.0 Released</title>
				<link>http://forta.com/blog/index.cfm/2013/2/20/jQuery-Mobile-130-Released</link>
				<description>
				
				Title says it all, &lt;a href=&quot;http://jquerymobile.com/blog/2013/02/20/jquery-mobile-1-3-0-released/&quot;&gt;jQuery Mobile 1.3.0&lt;/a&gt; is a huge update!
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Wed, 20 Feb 2013 18:23:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2013/2/20/jQuery-Mobile-130-Released</guid>
				
				
			</item>
			
			<item>
				<title>The jQuery Plugin Registry</title>
				<link>http://forta.com/blog/index.cfm/2013/1/27/The-jQuery-Plugin-Registry</link>
				<description>
				
				&lt;img src=&quot;http://jquery.org/wp-content/uploads/2010/01/JQuery_logo_color_onwhite-300x74.png&quot; class=&quot;float&quot;&gt;Last week, jQuery team member Adam Sontag &lt;a href=&quot;http://blog.jquery.com/2013/01/16/announcing-the-jquery-plugin-registry/&quot;&gt;announced&lt;/a&gt; the availablity of the &lt;a href=&quot;http://plugins.jquery.com/&quot;&gt;jQuery Plugin Registry&lt;/a&gt;, your one-stop shop for plugin developers and consumers.
				</description>
				
				<category>jQuery</category>
				
				<category>HTML5</category>
				
				<pubDate>Sun, 27 Jan 2013 21:35:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2013/1/27/The-jQuery-Plugin-Registry</guid>
				
				
			</item>
			
			<item>
				<title>Free ColdFusion 10 jQuery Mobile Tutorial</title>
				<link>http://forta.com/blog/index.cfm/2012/11/27/Free-ColdFusion-10-jQuery-Mobile-Tutorial</link>
				<description>
				
				The folks over at Fig Leaf Software are offering a &lt;a href=&quot;http://training.figleaf.com/curriculum/cfjqm.cfm&quot;&gt;Free ColdFusion 10 jQuery Mobile Tutorial&lt;/a&gt;, a 50 page PDF with lessons and exercises.
				</description>
				
				<category>jQuery</category>
				
				<category>ColdFusion</category>
				
				<category>Mobile</category>
				
				<pubDate>Tue, 27 Nov 2012 16:36:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/11/27/Free-ColdFusion-10-jQuery-Mobile-Tutorial</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Developer Summit This Week</title>
				<link>http://forta.com/blog/index.cfm/2012/10/14/jQuery-Developer-Summit-This-Week</link>
				<description>
				
				If you are in the Greater DC area, you may want to take part in two days of coding and collaboration with the jQuery community at the &lt;a href=&quot;http://events.jquery.org/2012/developer-summit/&quot;&gt;jQuery Developer Summit&lt;/a&gt;. Adobe is a sponsor and Adobe folks will be present (unfortunately I&apos;ll be on the other coast this week). You need to apply to attend, so if you&apos;re interested, do it quickly!
				</description>
				
				<category>jQuery</category>
				
				<pubDate>Sun, 14 Oct 2012 21:53:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/10/14/jQuery-Developer-Summit-This-Week</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile 1.1 Final Release</title>
				<link>http://forta.com/blog/index.cfm/2012/4/17/jQuery-Mobile-11-Final-Release</link>
				<description>
				
				With being offline for almost two weeks I missed lots of important news, including &lt;a href=&quot;http://jquerymobile.com/blog/2012/04/13/announcing-jquery-mobile-1-1-0/&quot;&gt;this announcement&lt;/a&gt; of the release of jQuery Mobile 1.1 Final.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Tue, 17 Apr 2012 17:15:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/4/17/jQuery-Mobile-11-Final-Release</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile 1.0.1 Released</title>
				<link>http://forta.com/blog/index.cfm/2012/1/31/jQuery-Mobile-101-Released</link>
				<description>
				
				jQuery Mobile 1.0.1 has been released, full list of enhancements in &lt;a href=&quot;http://jquerymobile.com/blog/2012/01/26/jquery-mobile-1-0-1-released/&quot;&gt;this blog post&lt;/a&gt;.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Tue, 31 Jan 2012 11:46:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/1/31/jQuery-Mobile-101-Released</guid>
				
				
			</item>
			
			<item>
				<title>Preventing Annoying jQuery Mobile Page Transitions</title>
				<link>http://forta.com/blog/index.cfm/2012/1/5/Preventing-Annoying-jQuery-Mobile-Page-Transitions</link>
				<description>
				
				The default jQuery Mobile page transitions are slide for pages and pop for dialogs. And on Android these can be sluggish and appear to flash on and off annoyingly. Turning off transitions is easy, well, once you know the code you need. The following (which is not overly clear in the docs) was given to me by fellow Adobian, and jQuery Mobile contributor, Kin Blas.

&lt;code&gt;$(document).bind(&quot;mobileinit&quot;, function() {
	$.mobile.defaultPageTransition = &quot;none&quot;;
	$.mobile.defaultDialogTransition = &quot;none&quot;;
});&lt;/code&gt;

Simple, right? Well, there is one catch. The mobileinit event has to be bound &lt;em&gt;before&lt;/em&gt; jQuery Mobile is loaded. In other words it needs to be after your code that loads jQuery, but before the code that loads jQuery Mobile. You can put it right inline, or in its own .js file, which you can include.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Thu, 05 Jan 2012 19:49:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/1/5/Preventing-Annoying-jQuery-Mobile-Page-Transitions</guid>
				
				
			</item>
			
			<item>
				<title>Series On jQuery Mobile Theme Skinning</title>
				<link>http://forta.com/blog/index.cfm/2012/1/3/Series-On-jQuery-Mobile-Theme-Skinning</link>
				<description>
				
				The Fireworks team has started a 5-part blog series on &lt;a href=&quot;http://blogs.adobe.com/fireworks/2012/01/jquery-mobile-theme-skinning.html&quot;&gt;jQuery Mobile Theme Skinning&lt;/a&gt; using Fireworks CS5 and the &lt;a href=&quot;http://labs.adobe.com/technologies/fireworks_css3mobile/&quot;&gt;CSS3 Mobile Pack extension&lt;/a&gt;.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Tue, 03 Jan 2012 09:58:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2012/1/3/Series-On-jQuery-Mobile-Theme-Skinning</guid>
				
				
			</item>
			
			<item>
				<title>Displaying A Loading Indicator In jQuery Apps</title>
				<link>http://forta.com/blog/index.cfm/2011/12/30/Displaying-A-Loading-Indicator-In-jQuery-Apps</link>
				<description>
				
				The following is based on a &lt;a href=&quot;http://jquerymobile.com&quot;&gt;jQuery Mobile&lt;/a&gt; app I am working on. But, the code and details apply to &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt;, too.

The app I am working on makes frequent Ajax calls to back-end services, and so I want a busy indicator that shows the user that activity is occurring. This is actually really easy to do, once you have a few steps in place. So ...

First you&apos;ll need the indicator itself. The simplest way to do this is with an animated GIF (and, yes, that means that the indicator won&apos;t reflect the relative wait time like a progress bar would). For great free animated GIF loading indicators, go to &lt;a href=&quot;http://www.ajaxload.info/&quot;&gt;ajaxload.info&lt;/a&gt;. Once you have the image, embed it in your page using an &amp;lt;img&amp;gt; tag:

&lt;code&gt;&lt;img id=&quot;imgAjaxLoader&quot; class=&quot;ajaxLoader&quot; src=&quot;images/ajax-loader.gif&quot; /&gt;&lt;/code&gt;

I want the image centered on the page, accomplished using this CSS:

&lt;code&gt;.ajaxLoader {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -24px;
	margin-left: -24px;
	z-index: 100;
	display: none;
}&lt;/code&gt;

The GIF I used was 48px x 48px, so the margins are set to -half that size. That, combined with 50% for top and left ensures that the image is centered in the page. z-index is set to 100 to ensure that the image is in the foreground, and display:none prevents the image from being displayed.

Now there is an invisible animated GIF on the page. The next step is to show the image when an Ajax call starts and hide it when the call completes. jQuery makes this incredibly simple to do via the &lt;a href=&quot;http://api.jquery.com/jQuery.ajaxSetup/&quot;&gt;ajaxSetup()&lt;/a&gt; function. Here&apos;s the code:

&lt;code&gt;$.ajaxSetup({
	beforeSend:function(){
		$(&quot;#imgAjaxLoader&quot;).show();
	},
	complete:function(){
		$(&quot;#imgAjaxLoader&quot;).hide();
	}
});&lt;/code&gt;

When an Ajax call is initiated, beforeSend calls .show() to display the animated GIF, and when complete, .hide() hides the image. Simple.

My own jQuery Mobile app makes Ajax calls on multiple pages, and so I embedded the same animated GIF on each page, all using the same style. Rather than bothering to track which page is displayed to show / hide just that animated GIF, I use jQuery to show / hide all of them, like this:

&lt;code&gt;$.ajaxSetup({
	beforeSend:function(){
		$(&quot;.ajaxLoader&quot;).show();
	},
	complete:function(){
		$(&quot;.ajaxLoader&quot;).hide();
	}
});&lt;/code&gt;

.ajaxLoader finds every tag styled as ajaxLoader, so $(&quot;.ajaxLoader&quot;).show() shows all of the loader GIFs and $(&quot;.ajaxLoader&quot;).hide() hides them all.

Nice and simple!
				</description>
				
				<category>jQuery</category>
				
				<pubDate>Fri, 30 Dec 2011 10:58:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2011/12/30/Displaying-A-Loading-Indicator-In-jQuery-Apps</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile Collapsible Control Refresh Gotcha</title>
				<link>http://forta.com/blog/index.cfm/2011/12/29/jQuery-Mobile-Collapsible-Control-Refresh-Gotcha</link>
				<description>
				
				jQuery lets you manipulate control contents at runtime, for example, you can add and items to an ordered or unordered list using code like this:

&lt;code&gt;$(&apos;#myList&apos;).append(&apos;&lt;li&gt;Some text&lt;/li&gt;&apos;);&lt;/code&gt;

If you do this in &lt;a href=&quot;http://jquerymobile.com/&quot;&gt;jQuery Mobile&lt;/a&gt;, you must then force the control to refresh so that formatting and styles are reapplied, like this:

&lt;code&gt;$(&apos;#myList&apos;).listview(&apos;refresh&apos;);&lt;/code&gt;

Simple, right? Well, not always. One of my lists contains collapsible items created using data-role=&amp;quot;collapsible&amp;quot;. And for some reason that I have yet to determine, when listview(&apos;refresh&apos;) refreshed the control it did not refresh the collapsible data-role, so all data was displayed, head and collapsible content, in one mess.

The solution? I had to call the collapsible() method on each list item that needed to be collapsible in addition to doing the refresh. I used jQuery .find() to find all &amp;lt;li&amp;gt; controls with a data-role of &amp;quot;collapsible&amp;quot;, and then called .collapsible({refresh:true}) for each, like this:
				&lt;code&gt;$(&apos;#myList&apos;).listview(&apos;refresh&apos;);
$(&apos;#myList&apos;).find(&apos;li[data-role=collapsible]&apos;).collapsible({refresh:true});&lt;/code&gt;

Obviously, to use this code with other controls you&apos;d need to change &apos;li[data-role=collapsible]&apos; to reflect the HTML control you are using.

Again, I have yet to figure out why this is necessary. But, it is, and it works.
				</description>
				
				<category>jQuery</category>
				
				<pubDate>Thu, 29 Dec 2011 21:35:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2011/12/29/jQuery-Mobile-Collapsible-Control-Refresh-Gotcha</guid>
				
				
			</item>
			
			<item>
				<title>Trapping jQuery Mobile Dialog Open And Close</title>
				<link>http://forta.com/blog/index.cfm/2011/12/13/Trapping-jQuery-Mobile-Dialog-Open-And-Close</link>
				<description>
				
				I needed to trap the events triggered when a dialog is opened and closed in a jQuery Mobile app. After trying all sorts of combinations of open, close, and dialog events, I found that these will do the trick:

&lt;code&gt;// Dialog opened 
$(&apos;#myDialog&apos;).on(&quot;pageshow&quot;, function() {
	alert(&quot;Opened&quot;);
});

// Dialog closed 
$(&apos;#myDialog&apos;).on(&quot;pagehide&quot;, function() {
	alert(&quot;Closed&quot;);
});&lt;/code&gt;
				</description>
				
				<category>jQuery</category>
				
				<pubDate>Tue, 13 Dec 2011 11:29:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2011/12/13/Trapping-jQuery-Mobile-Dialog-Open-And-Close</guid>
				
				
			</item>
			
			<item>
				<title>jQuery Mobile Control Refresh Gotcha</title>
				<link>http://forta.com/blog/index.cfm/2011/12/12/jQuery-Mobile-Control-Refresh-Gotcha</link>
				<description>
				
				jQuery lets you manually manipulate controls like lists. For example, you can do something like this to add an item to a list:

&lt;code&gt;$(&apos;#myList&apos;).append(&apos;&lt;li&gt;Some text&lt;/li&gt;&apos;);&lt;/code&gt;

In &lt;a href=&quot;http://jquerymobile.com&quot;&gt;jQuery Mobile&lt;/a&gt;, if you manually update lists like that, then when you are done you must force the list to refresh so that formatting and styles are applied. To do this, just use:

&lt;code&gt;$(&apos;#myList&apos;).listview(&apos;refresh&apos;);&lt;/code&gt;

But, there is one gotcha you should be aware of. jQuery Mobile apps are usually comprised of pages, each defined with a &amp;lt;div data-role=&amp;quot;page&amp;quot;&amp;gt;, and often with multiple in the same .html file. jQuery (and thus jQuery Mobile) lets you manipulate any controls in your page, so you can append or change controls in a page not currently being displayed. But, the .listview(&apos;refresh&apos;) call? That will only work if the control is on the currently displayed page. If you try to .listview(&apos;refresh&apos;) a control on a page that is not displayed, you&apos;ll see this error:

&lt;code&gt;Uncaught cannot call methods on listview prior to initialization; attempted to call method &apos;refresh&apos;&lt;/code&gt;

So, if you do need to update controls on a not currently displayed page, remember to load that page before triggering the refresh.
				</description>
				
				<category>jQuery</category>
				
				<category>Mobile</category>
				
				<pubDate>Mon, 12 Dec 2011 13:47:00 -0400</pubDate>
				<guid>http://forta.com/blog/index.cfm/2011/12/12/jQuery-Mobile-Control-Refresh-Gotcha</guid>
				
				
			</item>
			</channel></rss>