mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-04-23 15:44:43 +00:00
Issue #3081: Range inputs on dialogs don't degrade
The degradeInputs plugin bails early for pages that do not have data-role="page". This behavior prevented range inputs (for slider widgets) from degrading properly when used in dialogs. Updated degradeInputs unit tests to check dialogs, too.
This commit is contained in:
parent
a9d9ca3dac
commit
a8c04855b4
3 changed files with 21 additions and 6 deletions
|
|
@ -24,7 +24,7 @@ $.mobile.page.prototype.options.degradeInputs = {
|
|||
//auto self-init widgets
|
||||
$( document ).bind( "pagecreate create", function( e ){
|
||||
|
||||
var page = $(e.target).closest(':jqmData(role="page")').data("page"), options;
|
||||
var page = $(e.target).closest(':jqmData(role="page"),:jqmData(role="dialog")').data("page"), options;
|
||||
|
||||
if( !page ) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -14,15 +14,23 @@
|
|||
var degradeInputs = $.mobile.page.prototype.options.degradeInputs;
|
||||
|
||||
expect( degradeInputs.length );
|
||||
|
||||
|
||||
// Initialize dialog page
|
||||
$.mobile.changePage($('#dialog'));
|
||||
$.mobile.changePage($('#page'));
|
||||
|
||||
$.each(degradeInputs, function( oldType, newType ) {
|
||||
if (newType === false) {
|
||||
newType = oldType;
|
||||
}
|
||||
|
||||
$('#test-container').html('<input type="' + oldType + '" />').trigger("create");
|
||||
$('#page-test-container').html('<input type="' + oldType + '" />').trigger("create");
|
||||
|
||||
same($('#test-container input').attr("type"), newType);
|
||||
same($('#page-test-container input').attr("type"), newType);
|
||||
|
||||
$('#dialog-test-container').html('<input type="' + oldType + '" />').trigger("create");
|
||||
|
||||
same($('#dialog-test-container input').attr("type"), newType);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -25,11 +25,18 @@
|
|||
<ol id="qunit-tests">
|
||||
</ol>
|
||||
|
||||
<div id="foo" data-nstest-role="page">
|
||||
<div id="page" data-nstest-role="page">
|
||||
|
||||
<input id="not-to-be-degraded" type="range" data-nstest-role="nojs" />
|
||||
|
||||
<div id="test-container">
|
||||
<div id="page-test-container">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="dialog" data-nstest-role="dialog">
|
||||
|
||||
<div id="dialog-test-container">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue