mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-03-27 19:20:28 +00:00
Fixed checkboxradio disable issue.
This commit is contained in:
parent
2abdbf3416
commit
2bb94172cf
3 changed files with 93 additions and 0 deletions
|
|
@ -55,6 +55,11 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
|
|||
},
|
||||
|
||||
"touchend mouseup": function( event ){
|
||||
if ( input.is( ":disabled" ) )
|
||||
{
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
label.removeData("movestart");
|
||||
if( label.data("etype") && label.data("etype") !== event.type || label.data("moved") ){
|
||||
label.removeData("etype").removeData("moved");
|
||||
|
|
|
|||
27
tests/unit/checkboxradio/checkboxradio_core.js
Normal file
27
tests/unit/checkboxradio/checkboxradio_core.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* mobile page unit tests
|
||||
*/
|
||||
module('jquery.mobile.forms.checkboxradio.js');
|
||||
|
||||
test( "widget can be disabled and enabled", function(){
|
||||
var input = $("#checkbox-1");
|
||||
var button = input.parent().find(".ui-btn");
|
||||
|
||||
input.checkboxradio("disable");
|
||||
input.checkboxradio("enable");
|
||||
ok(!input.attr("disabled"), "start input as enabled");
|
||||
ok(!input.parent().hasClass("ui-disabled"), "no disabled styles");
|
||||
ok(!input.attr("checked"), "not checked before click");
|
||||
button.trigger("mouseup");
|
||||
ok(input.attr("checked"), "checked after click");
|
||||
ok(button.hasClass("ui-btn-active"), "active styles after click");
|
||||
button.trigger("mouseup");
|
||||
|
||||
input.checkboxradio("disable");
|
||||
ok(input.attr("disabled"), "input disabled");
|
||||
ok(input.parent().hasClass("ui-disabled"), "disabled styles");
|
||||
ok(!input.attr("checked"), "not checked before click");
|
||||
button.trigger("mouseup");
|
||||
ok(!input.attr("checked"), "not checked after click");
|
||||
ok(!button.hasClass("ui-btn-active"), "no active styles after click");
|
||||
});
|
||||
61
tests/unit/checkboxradio/index.html
Normal file
61
tests/unit/checkboxradio/index.html
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>jQuery Mobile Page Test Suite</title>
|
||||
|
||||
<script type="text/javascript" src="../../../js/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.ui.widget.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.widget.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.media.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.support.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.event.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.hashchange.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.core.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.navigation.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.page.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.fixHeaderFooter.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.forms.checkboxradio.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.forms.textinput.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.forms.select.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.buttonMarkup.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.forms.button.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.forms.slider.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.collapsible.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.controlGroup.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.fieldContain.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.listview.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.listview.filter.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.dialog.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.navbar.js"></script>
|
||||
<script type="text/javascript" src="../../../js/jquery.mobile.grid.js"></script>
|
||||
<script type="text/javascript" src="../../../tests/jquery.testHelper.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../../external/qunit.js"></script>
|
||||
|
||||
<script type="text/javascript" src="checkboxradio_core.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1 id="qunit-header">jQuery Mobile Page Test Suite</h1>
|
||||
<h2 id="qunit-banner"></h2>
|
||||
<h2 id="qunit-userAgent"></h2>
|
||||
<ol id="qunit-tests">
|
||||
</ol>
|
||||
|
||||
<div id="qunit-fixture">
|
||||
<div data-role="page">
|
||||
<div data-role="content">
|
||||
<div data-role="fieldcontain">
|
||||
<fieldset data-role="controlgroup">
|
||||
<legend>Agree to the terms:</legend>
|
||||
<input type="checkbox" name="checkbox-1" id="checkbox-1" class="custom" />
|
||||
<label for="checkbox-1">I agree</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in a new issue