]> source.dussan.org Git - jquery-ui.git/commitdiff
Checkbox must not be all the way hidden for change to fire in IE. Switched out .hide...
authorRichard Worth <rdworth@gmail.com>
Thu, 11 Mar 2010 02:09:45 +0000 (02:09 +0000)
committerRichard Worth <rdworth@gmail.com>
Thu, 11 Mar 2010 02:09:45 +0000 (02:09 +0000)
tests/visual/button/button_ticket_5261.html [new file with mode: 0644]
ui/jquery.ui.button.js

diff --git a/tests/visual/button/button_ticket_5261.html b/tests/visual/button/button_ticket_5261.html
new file mode 100644 (file)
index 0000000..5f5bd19
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+       <title>Button Visual Test : Button ticket #5261</title>
+       <link rel="stylesheet" href="../visual.css" type="text/css" />
+       <link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css" type="text/css">
+       <script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
+       <script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
+       <script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
+       <script type="text/javascript" src="../../../ui/jquery.ui.button.js"></script>
+       <script type="text/javascript">
+       $(function() {
+
+       $('#id1').button().change(function(e) {
+               console.log('change', e);
+       });
+       $('#id1').bind('change', function(e) {
+               console.log('bound change', e);
+       });
+       $("body").live('change', function(e) {
+               console.log('live change on body', e);
+       });
+       $(document).delegate('input', 'change', function(e) {
+               console.log('delegated input change', e);
+       });
+       $(document).change(function(e) {
+               console.log('delegated change on document', e);
+       });
+
+       });
+       </script>
+</head>
+<body>
+       
+<h1 class="ui-widget-header"><a href="http://dev.jqueryui.com/ticket/5261">#5261 - button change events don't fire in IE 7/8</a></h1>
+       
+<input name="1" id="id1" type="checkbox"/>
+<label for="id1">Checkbox</label>
+
+</body>
+</html>
index fd01cf7505fc4f49f60eab2e82e94dd189293112..9c26ba529213ffa98fdadff72239cf4a795ffca0 100644 (file)
@@ -159,7 +159,7 @@ $.widget( "ui.button", {
 
                if ( this.type === "checkbox" || this.type === "radio" ) {
                        this.buttonElement = $( "[for=" + this.element.attr("id") + "]" );
-                       this.element.hide();
+                       this.element.addClass('ui-helper-hidden-accessible');
 
                        var checked = this.element.is( ":checked" );
                        if ( checked ) {