jQuery Mobile 1.4.0 Changelog

link Accessibility

  • Improvements to and consistency in accessible hiding content. (bf9c2d3)
  • Stoped moving hidden elements off screen when we set height, width and clip. (963151c)

link Autoinit

  • Added enhanceWithin function to helpers (0e61e08)
  • Added wrapper to $.widget to inject default initSelector to widgets
  • Added ability for any widget included in a jquery mobile site will get automatic init by using data-role="widgetname". (0e61e08)
  • Added setting data-defaults="true" will skip checking of data- attributes for widget options.
  • Deprecated reading DOM parameters from buttonMarkup. If you call buttonMarkup, pass buttonMarkup-related options into the function via its options parameter, not via the element that needs to be enhanced.
  • Deprecated calling create to enhance a container or widget. $.fn.enhanceWithin() will now be the method to enhance containers.
  • Deprecated $.mobile.pageContainer. With new pagecontainer widget there can be more then one page container.
  • Deprecated buttonMarkup method.

link Core JS

  • Added support for pseudo elements as requirement for A-grade. Degraded IE7 and BB5 to C-grade. (60aa05b)
  • Added option to prevent hiding url bar (a2364f3)
  • Broke up into data, defaults, and helpers modules (c7884ca)
  • Integrated jQuery UI core (812ce9d)
  • degradeInputs: Moved to $.mobile.degradeInputs, deprecated on page widget (20433c6)
  • Deprecated $.mobile.subPageUrlKey was only used by nested listview which is deprecated
  • Deprecated $.mobile.* for any class options most of these will be removed remaining ones will move to something like $.mobile.classes which will be an object
  • Deprecated $.mobile.activePageClass, $.mobile.activeBtnClass, $.mobile.focusClass.
  • Deprecated $.mobile.getDocumentUrl and $.mobile.getDocumentBase – both are available from $.mobile.path.
  • jqmData: Checks for index of before running regex to improve performance. Fixes #5999 - $.find: added indexOf checking for jqmData selector to improve speed on non-jqm selectors (#5999, 375b21b)
  • Moved $.mobile.resetActivePageHeight from navigation to core. Fixes #5997 - Panel depends on resetActivePageHeight (#5997, b39787b)
  • KeepNative: Made keep native just a selector string on $.mobile and deprecated keepNativeSelector from page (40857b3)
  • MinScrollBack: Changed default to 0 and deprecated (536f153)
  • Stopped using pushState inside FF iframes (54a3d79)
  • Stopped initial scroll when not hiding url (411d79e)

link Core CSS

  • Fixed overflow-x hidden for page because navbars are wider than the page. (#5566, 9f70f06)
  • Fixed browser default min-width for fieldset. (#6077, 57adccc)
  • Fixed min-height for empty toolbars. (#6258, 45863ab)
  • Fixed setting a default min-height for the page. (#5755, 412fa36)
  • Fixed additional space at bottom of fieldsets on Firefox. (#6319, 1524ea1)
  • Fixed fieldset width on Firefox. (#6077, be4649f)

link Demos

  • Added test suite with button, form and listview test pages. (a7440ea)
  • Added example showing a filterable/input inside a custom select popup/dialog. Fixes #6282. (#6282, 391714b)
  • Added popup alignment demo featuring new popup extension. Fixes #6186,#6187. (#6186, fb03c14)
  • Added pre-enhanced popup example. (bdcd5a4)
  • Added button and input icon-only examples to button test page (fa8403d)
  • Added external fixed toolbars to panel test pages. (edcd958)
  • Added navbars to theming test page. (79b53d6)
  • Added note to the PHP redirect demo that says it only works on a server. (83c746e)
  • Added panels test pages (f28140f)
  • Added panels to theming test page. (c021d43)
  • Added single page template example. Fixes #5716 (#5716, 6b41a21)
  • Added the custom select demo page. (5afefdd)
  • Added theming test page. (dba9c92)
  • Added an example of a pre-rendered collapsible. (83724c6)
  • Added example of a pre-rendered controlgroup. (dc9bf3e)
  • Added utility for generating popup arrow CSS. (d08b0cb)
  • Added a link from selects page to the custom selects page. (bd30ca9)
  • Added demo page for new flipswitch widget. (d0e94b4)
  • Added icon test page. (8bdd2cf)
  • Added new intro paragraph for table column toggle page. Fixes #5737 (#5737, b9d0bf1)
  • Added popup widget arrow demo. (e77c720)
  • Changed the way the version is set on demo pages (a992db2)
  • Changed theme C, D, and E to A or B. (38d8b72)
  • Fixed the vertical scrollbar on the page. Fixes #6024. (#6024, 6aa1146)
  • Fixed comment above example CSS for clarification. (#5889, f3e6b23)
  • Hide the global search list while the global nav panel is open. (da015b7)
  • Improved dynamic controlgroup demo. (1f8302d)
  • Improved fixed toolbar demo pages. (79b6df8)
  • Improved form pages. (81c765e)
  • Removed unwanted data-ajax="false" attributes from links. Fixes #6344. (#6344, 76a90c0)
  • Renamed docs to demos (fdb1838)
  • View source: Grab HTML-only full-page demos as well. (a50c0d1)

link Events

link Swipe

  • Changed to use triggerCustomEvent Fixes #5311 - Nested delegate elements cause swipe event duplication (#5311, 3367ec5)
  • Rewritten to trigger once threshhold has been reached instead of waiting for vmouse up this emulates native swipe event (2318203)

link Taphold

  • Added option to prevent tap from being fired on taphold (#3803, 71e6dfc)
  • Fixed incorrect checking of $.event.special.tap.emitTapOnTaphold. (#6342, 69ed6ef)
  • Fixed taphold on link opening link. (#5983#3803, 49bb033)

link Touch Events

  • Added setup and add teardown for events (3ba4a42)
  • Fixed bind swipe touchstop to document as they may swipe off the target element (72654a1)

link Page Events

  • Deprecated pageinit event in favor of pagecreate
  • Added use of new hashToSelector() function to correctly identify embedded dialogs that do not posess the data-url attribute. (#5949, 3b0eb39)
  • Added content type for changePage with data argument. (#5296, 97feb6a)
  • Created a custom event called "beforenavigate" so that, when someone binds to "beforenavigate", the "navigate" event will be initialized. (58e94db)
  • Deprecated the second pagebeforechange has been replaced with pagebeforetransition. Both will be triggered for compatibility.
  • Deprecated current behaviour of stripping query strings from hashes. Starting in 1.5 we’ll be following spec on hashes and provide a hook to handle custom navigation.
  • Deprecated $.mobile.changePage. Use the pagecontainer widget change method.
  • Deprecated $.mobile.loadPage. Use the pagecontainer widget load method.
  • Fixed Honoring form action during submit. (#3202, 6686c32)
  • Fixed if the default is prevented on the originalEvent of "navigate", do not go into _handleHashChange. (#5775, c6dd725)
  • Fixed choosing of the title. It is unnecessary to escape entities, since the result will be assigned to document.title (which can presumably accept an unencoded string). (#5749, 7446992)
  • Fixed when submitting a form via GET, strip query off URL before creating new query string. (#5710, 0d4e839)

link Theme CSS

  • Added "A" light swatch, "B" dark swatch (8abb930)
  • Added selectors for pure CSS theme inheritance. (2a742ff)
  • Added pseudo elements for icons. (efc1f51)
  • Added ability to make active and focus state themeable. (#3750, 3cc45ef)
  • Added font-family and text-decoration to global rule. Default font-family sans-serif. (e6b36ec)
  • Changed everything to default to A swatch. (98b90c3)
  • Deprecated option iconshadow. Add class ui-shadow-icon to a container or a button instead. (4e864be)
  • Deprecated class ui-link. One style for links in body and bars (bar link colors were never themeable in ThemeRoller)
  • Fixed border-radius for checkbox-off. (#6238, 9c53458)
  • Fixed "ui-icon-nodisc" and "ui-icon-alt" Classes. They have been renamed to ui-nodisc-icon and ui-alt-icon, because using the same naming structure as for icon classes (ui-icon-search, ui-icon-delete, etc.) was causing conflicts.
  • Simplified default theme to only have two swatches and removed background gradients. (e6e8d04)
  • Switched to full classnames to improve performance.(dce3562)
  • New set of vector-based icons from Glyphish with fallbacks via Grunticon (Demo)

link Transitions

  • Added check to see if there is a stored scroll position when url bar hiding is disabled (61d2828)
  • Added transition handler object (93b0b48)
  • Fixed scrolling when not hiding the url bar (2c10db3)
  • Fixed setting page focus on initial load to prevent jumping pages when in iframes (b332bcd)
  • Fixed use of translateX instead of translate3D for slide transition for iOS 6. (#5764,6997848)
  • Removed animation-fill-mode properties to improve animations in Android 4.x. (#5679, 43fd915)

link Widgets


  • Added enhanced option (d455be8)
  • Added widget(), _destroy(), _setOptions() methods. (981cae7)
  • Changed initSelector to only target inputs (e6eaab6)
  • Changed ui-btn-corner-all to ui-corner-all (0043089)
  • Changed to ui-input-btn class for all input buttons instead of ui-submit. (2c2be73)
  • Fixed use of diplay none to hide the native input when disabled, improves usability for screen readers. (3707c55)
  • No longer use buttonMarkup(). (c747016)
  • Fixed selectors ui-btn-left and -right CSS rules. (#5869, 287d379)
  • Fixed initSelector to only do input[type=button] to exclude button elements with type=button. (#6237, b2d9570)
  • Fixed margin-right for inline buttons. Fixes #5816. (#5816, e003997)
  • Fixed setting of button text as title attribute value for icon-only buttons. (a53090e)
  • Fixed missing space in class for icon. (#6217, 147ee42)
  • Fixed check to ensure icon is set before applying icon position class. (#6212, 69699d0)
  • Optimized CSS for button elements. (feab6bc)
  • Removed button elements from button widget they now use buttonMarkup(). (4a90506)
  • Removed default theme class (9481425)

link Checkboxradio

  • Added theme inheritance via CSS. (cac84d1)
  • Changed ui-btn-corner-all to ui-corner-all. (df87173)
  • Fixed input order in the DOM during enhancement. (#339, 4ab19a7)
  • Fixed setting of ui-btn-inherit as default theme class. (#6183, 2978275)
  • Fixed escaping ID when it is being used as a selector for the corresponding
  • Fixed native input and icon style. (#5740, 8f5ad89)
  • Improved accessibility. (9637fc8)
  • Removed use of buttonMarkup. (7a55b27)

link Collapsibleset

  • Added the same options as collapsible and update child collapsibles when any of those options change. (c12d10f)
  • Added "enhanced" option. (a0e62d7)
  • Added destroy() method. (9943c87)
  • Deprecated collapsibleset's behaviour whereby it only enhances children that match the collapsible initSelector. As of 1.5.0 collapsibleset will turn all its children into collapsible widgets.
  • Deprecated data-role="collapsible-set" for collapsible set. As of 1.5.0 it will be data-role="collapsibleset"
  • Fixed use of the new expand()/collapse() public API instead of the removed signal-based ones. (#5271, fe60da4)

link Collapsible

  • Added destroy() method. (561090d)
  • Added refresh() method (f380d2a)
  • Added "enhanced" option. (c135660)
  • Fixed the possibility that the collapsibleset widget is not defined. (3f6a188)
  • Fixed content theme default to inherit instead of none. (63dd22f)
  • Fixed collapsing of already-collapsed collapsibles. (#5911, 94b59a3)
  • Fixed unsetting the border of nested collapsibles in a set of individual collapsibles. (#6188, 1ffa618)
  • Fixed options work with possible inheritance from an accordion. (17d7b77)
  • Fixed contentTheme as inheritable option. (#6274, 5cc2162)
  • Removed use of buttonMarkup. (57b245e)

link Controlgroup

  • Added option theme. (#5301, 6bd0caf)
  • Added "enhanced" option. (d9bbfc4)
  • Added destroy method. (ebd8499)
  • Fixed missing call to refresh when the value of the excludeInvisible option changes. (#6199, 07ed62a)
  • Fixed legend wrap on IE10. (#6139, de6c4f9)
  • Fixed shadow on the inner wrapper. Fixes #5817. (#5817, ba3f8fa)
  • Fixed targeting of buttons inside the controlgroup-controls container only. (#5352, 963d895)
  • Fixed that load order does not matter for child widgets (92ef12a)
  • Removed hardcoded initSelector. (5cff630)

link Customselect

  • Added ability to work with filterable. (#6326, 4405004)
  • Added "role=button" to multiple select popup close button. (f7c0578)
  • Fixed escaping of characters in popup/dialog ID when they become hrefs. (#5893, f0b2417)
  • Fixed determining the option that was clicked via a selector instead of the "data-option-index" attribute that was set during list creation. (5c99158)
  • Fixed removal of dialog upon _destroy. (#5935, afabf5b)
  • Removed usage of buttonMarkup. (0bf39e1)
  • Rewrote as an extension of select. (80ea8cf)

link Dialog Extension

  • Added new extension to page widget to style pages as dialogs and add dialog as an option to page. (453ae41)

link Dialog

  • Added "role=button" to the close button. (d8c597f)
  • Added ability to set options work on-the-fly. (22384c9)
  • Deprecated current dialog widget. Dialog is now an option in the page widget (data-dialog="true").
  • Fixed render un-closeable during pagebeforehide. (#5956, ae059a1)
  • Fixed missing call to _super from _setOption for all options. (82b8b13)
  • Fixed creation of the close button if its location or text changes. (7becf2d)
  • Removed usage of buttonMarkup. (ebe2dc6)

link Fieldcontain

  • Deprecated data-role="fieldcontain". Removed class ui-body for fieldcontain. Add class ui-field-contain instead. (3650c85)
  • Deprecated $.fn.mobile.fieldcontain() and data-role="field-contain". Just add class "ui-field-contain".

link Filterable

  • Added extension "backcompat" to handle synchronization between widget options and textinput options. (30d42e2)
  • Added new widget. (b08bb6a)
  • Deprecated input element generation for filter, filterPlaceholder option, and filterTheme option for filterable you can provide your own input via the data-input option.

link Fixedtoolbar

  • Changed hideDuringFocus logic. Fixes #4113 and an issue on Android native browser. (#4113, 4d6079c)
  • Convert to be extension of new toolbar widget. (d8ab232)

link Flipswitch

link Grid

  • Added ability to use grids to layout unordered lists. (4b13983)
  • Added ability to make nested grids. (#6159, ff18454)
  • Fixed making grids responsive when class ui-responsive is added to the grid container. (3fac24a)

link Listview

  • Added style for ordered list with formatted content. (#1609, 1b57da9)
  • Added check if list item is already enhanced to improve performance of refresh. (e07be5a)
  • Added class ui-li-thumb to position elements other than img. Deprecated ui-li-has-icon. Fixes #6321. (#6321, 0479daa)
  • Autodividers: Converted to extension. (dfcc6a5)
  • Changed markup to simplify, no more buttonMarkup(). (78cb933)
  • Deprecated auto detection of thumbs/icons. Add class ui-li-has-thumb/icon to the LI. (ed89730)
  • Deprecated option countTheme. (cd3b9d6)
  • Removed jsCount, only use pseudo elements for list numbering. Taking value attribute into account. (6ddfca9)
  • Removed nested listviews. Deprecated in 1.3.0. (923a83e)

link Page

  • Added set options method (46eefb8)
  • Added dialog extension (173a101)
  • Added enhanced option for page and tests for dialog extension (702a13f)
  • Deprecated data-role="content" and option contentTheme (data-theme). This also means that the framework no longer adds ARIA role "main". Add class ui-content and role="main" in your markup instead.
  • Deprecated setContainerBackground and removeContainerBackground move to pagecontainer widget (e6ff092)
  • Fixed prefetch Check for existance of options object before checking prefetch property. (#5877, 9648130)

link Panel

  • Added visibility hidden for closed panels. (#5652, 4ce2d28)
  • Added 3D-ing to reveal panel content and page sections in content wrap. (#5831, de18420)
  • Changed the default for panel option theme. It is now null (inherit) instead of "a".
  • Fixed scroll to top when opening a panel, unless it's a fixed panel. (#5858, af1f5a2)
  • Fixed content wrapper min-height on IE7. (#5607, 04406bf)
  • Fixed removal of active button class when link to panel is a listview button. (#5961, 85b11b5)
  • Fixed selection of the page on which the panel is shown. (#6254, 8629ef5)
  • Fixed max-height for closed panel. (#5843, 3851646)
  • Fixed Unbinding of link listeners when destroying a panel. (#6309, 5909bfb)
  • Fixed transform translate3d for FF where possible. (#5753, 88d5980)
  • Fixed the responsive panel CSS that disables dismiss on wider viewports if display mode is push. Fixes #6317. (#6317, 22c382c)
  • Fixed calling positionPanel() until class ui-panel-close is removed. (4eb53e8)
  • Removed dependency on page. (2e8b5ad)
  • Added popup accessibility attributes. (#5898, ab910d3)
  • Added support for "enhanced" flag. (435a2f8)
  • Added ID refs without hashtag for aria-owns attribute of links to popups. (#6117, 180a404)
  • Added option "class" which applies classes to the container (i.e., to widget()). (a518749)
  • Changed hiding of popup when offscreen. (#5892, 556a4e3)
  • Fixed blur any focused elements inside container, including the container itself, upon closing. (#5974, 4659c97)
  • Fixed application of wrapper class. (85d3158)
  • Fixed when focusing on the container, do not bounce focus to an element inside it even if such an element is available. (#5706, c605423)
  • Fixed improper reference to body. (#6318, 0e96ca0)
  • Removed framework dependency works as a widget on its own. (#5742, 6e1eee7)
  • Removed initSelector from options. (c4ad89c)
  • Removed call to _closePopup() if the popup is no longer the currently-open one. (#6182, 9da71a4)
  • Added new extension to popup. (364212e)

link Select

  • Added mini and inline classes to container. Set margin on the container. Fixes #5838. (#5838, f6624ac)
  • Fixed setting margin-right 0 because a select can be an inline button. Fixes #6103. (#6103, 0325fec)
  • Fixed blur after change to make hideDuringFocus work correctly on Android/Chrome. (#5514, 40501f3)
  • Removed use of buttonMarkup. (63bc9a8)
  • Removed copying class ui-screen-hidden from the options to the button. After all, if it is the selected option, it cannot be hidden. (#6225, beacbac)

link Slider

  • Added option corners. Fixed setting options theme, trackTheme and mini. (#6037, e583413)
  • Fixed the flip switch native select element accessible for screen readers. (f2baf78)
  • Fixed on Opera Mobile event.which is undefined. Accept that and get slidin'. (#5903, b90361b)
  • Fixed unnecessary clearfix for the flip toggle switch. (#5809, 949a16a)
  • Deprecated the flip toggle switch feature of the Slider widget. Use the new Flipswitch widget instead.

link Slider Tooltip

  • Added extension for slider toolip. (2ca372d)

link Rangeslider

  • Added option corners. (#6037, e583413)
  • Fixed force update on mousedown to prevent situation where user has typed in input but input has not yet blured. 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 (#5644, af3c4fa)
  • Fixed update highlight on form reset. (#5773, ef3a3f8)

link Table

  • Columntoggle: Convert to proper extension. (a45edfa)
  • Columntoggle: Take <abbr> title into account when generating columntoggle checkbox. Fixes #6053 - abbr title in th not picked up for column toggle. (#6053, 7e16400)
  • Columntoggle/Reflow: Added rebuild method (1f4c1fd)
  • Deprecated table-stroke and table-stripe classes.
  • Reflow: Convert to proper extension. (78a21fd)
  • Removed duplicate display property from CSS. Fixes #5985. Thanks @mish7 ! (#5985, 8583c85)

link Tabs

  • Added tabs widget from jQuery UI (404a8da)

link Textinput

  • Added option corners. Fixes #5610. (#5610, 698ffb2)
  • Added class(es) listed in the value of the "wrapperClass" option when creating the wrapper. (af74af6)
  • Autogrow: fixed height calculation to account for borders. (#6180, #6178, 48139f8)
  • Autogrow: Added ability to auto shrink as well. Clearinput update for new CSS. (e2a8de6)
  • Autogrow: Added padding omitted from clientHeight by Firefox. (#6179, b4d5158)
  • Clearbutton: Fixed vertical alignment of clear button in mini sized text inputs. (#5840, 55bf64f)
  • Fixed padding left/right on the input itself. (#5977, bc4e01d)
  • Fixed to hide the native clear button on IE 10 when JQM clear button is visible on text inputs. (#5756, 4782044)
  • Fixed suppressed disabled check for event listeners. (#509, 48fdb20)
  • Fixed calculated height without extra padding. (#5690, b33580e)
  • Removed option clearSearchButtonText (deprecated in 1.3). (6ec5491)
  • Removed clear button and autogrow textareas into extensions (5b4ac79)

link Toolbar

  • Added new toolbar widget (c51fe84)
  • Added ability to use toolbars outside of jqm pages (Demo)
  • Added True Persistant toolbars (Demo)
  • Added data-add-back-btn toolbar set this option here not on page.
  • Deprecated current persistent fixed toolbars in favor of true persistent (outside page).
  • Deprecated auto-enhancement of links and button elements in toolbars, including adding the ui-btn-left/right classes in header.

link Widget Factory

  • Updated to lastest from UI (6fa8ecf)

link Widget Factory Extension

  • Added use of new $.mobile.getAttribute function instead of jqmData for performance improvement. (2e48c7b)
  • Moved initSelector out of the prototype. (cbe643f)
  • Removed rise method. (#6131, 5b9249e)
  • Removed mobile base widget and extend $.widget instead. (#6132, 245e3d1)

link Pagecontainer

  • Added widget, move navigate binding in (04636aa)
  • Fixed loadPage to account for if the page is prefetched done update basetag. (#5677, be22887)