Announcing jQuery Mobile 1.3.1

Posted on by

The jQuery Mobile team is happy to announce 1.3.1. This is the first maintenance release for 1.3 and contains close to 50 fixes and improvements in the library. Try it now!

In this release, we’ve added support for sourcemaps in the library to make it possible to view the uncompressed code from the minified version. Sourcemap for jQuery Mobile 1.3.1.

Also noteworthy, the reflow and column toggle tables now have fully operational refresh methods to properly support dynamic content.

Demos & docs | Download & CDN | Change log


CDN-Hosted JavaScript:

CDN-Hosted CSS:


Copy-and-Paste Snippet for CDN-hosted files (recommended):

<link rel="stylesheet" href="" />
<script src=""></script>
<script src=""></script>


ZIP File:
If you want to host the files yourself you can download a zip of all the files:

Microsoft CDN hosted jQuery Mobile files:

Fork jQuery Mobile on GitHub


Change log


Removed duplicated code in butonMarkup. Title is set twice for element when iconpos option is set. Thanks stforek!

buttonMarkup: Do not allow a value of null to end up the value of an attribute, because it gets stringified as “null”

Removed border-radius inherit for ui-btn-text (Fixes #5709) – added rule to listview because that’s the only place where we need this.


Add reset handling via $.extend, not $.widget to avoid additional subclass depth

Collapsible Set (Accordion)

addFirstLastClasses: Add it to widgets via $.extend, not $.widget because it does not use any widget factory features.


addFirstLastClasses: Add it to widgets via $.extend, not $.widget because it does not use any widget factory features.


Fix setting dialog options other than “closeBtn”. Thanks jdknezek!

Fixed Toolbars

Fixed toolbar: changed hideDuringFocus logic to fix interaction with on-screen keyboard. (Fixes #4113) and an issue on Android native browser.

Page content’s padding is not adjusted when fixed header elements changes its height (Fixes #5619) – the first argument of updatePagePadding is expected to be a page, but when it is called from the throttledResize binding, it ends up as an event object, and the padding was being set on that instead of the page. This adds a check to ensure the arg is a page before setting its padding.


Listview filter: Check if var listview is defined. (Fixess #5696 and #5643) – The listviewcreate event bubbles up which causes an error if a listview is nested in an UL or OL without data-role="listview".

addFirstLastClasses: Add it to widgets via $.extend, not $.widget because it does not use any widget factory features.

Ordered list numbering, display is not correct when adding additional tags (Fixes #1609) – Added style for ordered list with formatted content.


Clicking a currently active navbar tab removes ui-btn-active class and styling (Fixes #5707) – Changed active state logic. Removed workaround for #1181. Fixed that issue by addressing the actual cause: returns ui-btn-inner instead of the anchor


Simplify code for getAjaxFormData (Fixes 5710). When submitting a form via GET, strip query off URL before creating new query string..

Added “contentType” to settings for $.mobile.changePage with “data” argument. Thanks aristotelos!

loadPage: update to account for if the page is prefetched done update basetag (Issue #5677) – Prefetching pages from other directories offsets -tag

Support: Turn off pushState inside FF iframes

When submitting a form via GET, strip query off URL before creating new query string. (Issue #5710).“>Issues with history disabled with popups. (Issue #5775). If the default is prevented on the originalEvent of “navigate”, do not go into _handleHashChange.

Removed extra function in transition “`releasePageTransitionLock“` sets “`isPageTransitioning“` to false;
So no need to set is here as “`releasePageTransitionLock“` is called. Thanks poonkave!


Workaround for bug in Firefox 19.x/Mac with native select in hardware accelerated panels (Fixes #5753). – make "-moz-transform: none;" override non-prefixed prop/val (FF 16+). Thanks @jaxtheking!

Panel: Visibility: hidden for closed panels. (Issue #5652). This prevents focus on links in closed panels when using the tab key.

Call positionPanel() before we start opening the panel. – This prevents a vertical scrollbar on the page div when opening a long panel on a short page.

Unset transform translate3d for FF where possible. (Fixes #5753). We don’t need translate3d(0,0,0) for hardware acceleration in case of FF and it causes problems with selects due to a FF bug.

Fix for panel Flickering on iOS and Android (Fixes #5831) – Adding 3D for reveal panel content and page sections in content wrap to kick in hardware acceleration.

Only set a default min-height for the page for panel consistency. (Fixes #5755) – resetActivePageHeight() only overrides the page min-height. Setting this for ui-mobile causes issues on small screens.

Fixed typo in panel code – Fixes _panelInner

Set max-height for closed panel (Fixes #5843) – Page div gets a vertical scrollbar on IE9 if panel is longer than page content.

Give content wrapper a min-height on IE7 (Fixes #5607). Because of IE7’s min-height bug, the content wrapper doesn’t inherit the min-height of the page. On short pages you see the page background below the content.


Text input in popup doesn’t loose focus (Issue #5706) – When focusing on the container, do not bounce focus to an element inside it even if such an element is available.

Range slider

Add form reset via $.extend, not $.widget.

Force update on mousedown to prevent situation where user has typed in input but input has not yet blurred (Fixes #5644) – Rangeslider makes FF (Mac OS) pause for few sec and throw error “too much recursion” when manually enter right value less than left one and click middle slider area

Update highlight on form reset (Fixes #5773) – Rangeslider layout breaks upon form reset.

Select menu

Add reset handling via $.extend, not $.widget to avoid additional subclass depth

Blur after change to make hideDuringFocus work correctly on Android/Chrome (Fixes #5514)


Add reset handling via $.extend, not $.widget to avoid additional subclass depth

Slider: drag should start only for left mouse button. Thanks stforek!

Account for mouse and touch input event differences “`event.which““ for“ mousedown“` can be 0 or 1, because it is 0 on mobile and 1 (left mouse button) on desktop“>Flip swith style issues inside a table cell. (Issue #5809) Reset unnecessary clearfix for the flip toggle switch.

Style tweaks for missing border for native range control (Fixes #5846) – Switch to border-width: 0 instead of border: none for the input to make it easier to restore the border if you want.

Tables: Reflow and Column Toggle

Added missing refresh method for reflow and column toggle tables (Fixes #5842 and #5841) – This method wasn’t implemented fully for 1.3.0 but was documented in the API so we have now added this capability for both table modes. Thanks frequent!

Text Inputs & Textareas

Improved vertical alignment of clear button in mini sized text inputs (Fixes #5840)

Textinput: height correctly calculated (without extra padding) for box-sizing. Thanks jhogervorst!

Automatic resizing now works for disabled textareas with pre-filled values. Thanks jhogervorst!


Remove “px” from zero values in CSS. Saving bytes. Thanks nschonni!


Removed animation-fill-mode properties to improve animations in Android 4.x. (Issue #5679)

Slide transition not working properly on iOS (Fixes #5764) – Use translate3D instead of translateX for slide transition. Fix for iOS 6.

33 thoughts on “Announcing jQuery Mobile 1.3.1

  1. disqus_0g4TYjUeZA on said:

    How long does it usually take for NuGet to be updated with the current release?

  2. Ado Web on said:

    I found annoying issue..

    Screen hiccups when scrolling, but only when using panel as well. Without a panel scolling works fine.

    iPad 2 – 6.1.3

  3. maryanne on said:

    my icons are no longer showing up where they are supposed to be. i dont understand why that would be since the sprite hasn’t changed.

  4. Dror Ytzhakov on said:

    Transitions in android started flickering after upgrade from 1.3.0
    Tested on android 4.0.4 and android 4.2.2

  5. Dat Tran on said:

    I have issue from column toggle. When i load dynamic row to table toggle, and click on Column to display, it show/hide wrong column index. Sample: I have column 1, column 2, column 3, column 4. Column 2,3 is hide. When i click on Column to display, check column 2, it show column 3 or check column 3, it show column 2. It show wrong index 🙁 Some one can help me for this issue???

    • Kamil Stachowiak on said:

      I have similar situation. I found that column index is changed after refresh method. This is probably a bug on this method somehow. I just load rows dynamically and until refresh method is called Headers are toggled fine (correct indexes) but only headers. To allow hide also columns in data rows I have to user refresh method, and afterwards indexes are not correct anymore.

  6. Kuthay Gumus on said:

    how can i get rid of this flickering when navigating between pages on 2.3.x ??

    • Thomas Decaux on said:

      True, jquery mobile has never worked with the latest version of jquery, thats a shame !

  7. Darith on said:

    Hi! I am working on with your latest version jquery-mobile 1.3.1. i have problem
    – Checkbox problem with Blackberry 10, and IPhone mobile browser.

  8. Darith on said:

    Have the problem with 1.3.1 for CSS Checkbox and work well with 1.3.0 css on Blackberry 10 and IPhone browser.

  9. Hari Babu on said:

    ui-header and ui-footer is fixed, only ui-content have to scroll but one iam not getting, i need like that means what i have to do

  10. Rodney Joyce on said:

    Thanks – this may be a stupid question, but why does my NUGET not download this in VS2012? It shows version 1.3.0