Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

data-role="none" buttons still enhanced when used in controlgroup #7676

Closed
adammessinger opened this issue Sep 17, 2014 · 3 comments
Closed
Assignees
Milestone

Comments

@adammessinger
Copy link
Contributor

My current project has a pagination control that includes a "self-submitting" select menu of pages and next/previous links. There's also a submit button with data-role="none" that's hidden if jQuery Mobile has enhanced the page. This is added so people without JS or using old browsers like IE 7 that jQM doesn't support can still submit the form to choose a page.

The data-role="none" button is still enhanced, despite being excluded using that data attribute. This is throwing off the formatting of the pagination control a bit on the last page. Demo/test page: http://jsbin.com/misihuqotunu/1/

For now, I'm getting around this by giving the next/prev links a class of "ui-state-disabled" on the first and last pages rather than excluding them.

@gabrielschulhof
Copy link

You can fix this by using class ui-screen-hidden instead of jqm-hidden. When the controlgroup is instantiated, it attempts to determine the last visible button, but it cannot rely on the :visible selector, because the page itself is not yet visible, so all its elements are hidden. Thus, it falls back to checking for the presence of class ui-screen-hidden.

@gabrielschulhof
Copy link

I'm still investigating why the button gets enhanced, though, because we should be filtering things that are supposed to stay native.

@gabrielschulhof
Copy link

Oh, but we're not filtering buttonMarkup() :/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants