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

Download

CDN-Hosted JavaScript:

CDN-Hosted CSS:

 

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

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></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
https://github.com/jquery/jquery-mobile

 

Change log

Button

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.

Checkboxradio

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.

Controlgroup

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

Dialog

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

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.

Navbar

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: event.target returns ui-btn-inner instead of the anchor

Navigation

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).

https://github.com/jquery/jquery-mobile/commit/2d7bebe060d5edfac7d8787d7b1c08a8e5746da5“>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!

Panel

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.

Popup

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)

Slider

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

https://github.com/jquery/jquery-mobile/commit/949a16a880f06c71bc8277fdcdd46520a4a9355c“>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!

Theme

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

Transitions

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.