]> source.dussan.org Git - jquery-ui.git/commitdiff
Dialog: Don't use .attr( props, true ).
authorScott González <scott.gonzalez@gmail.com>
Mon, 5 Nov 2012 14:37:01 +0000 (09:37 -0500)
committerScott González <scott.gonzalez@gmail.com>
Mon, 5 Nov 2012 14:37:19 +0000 (09:37 -0500)
ui/jquery.ui.dialog.js

index dcf44580ef1ca14644031c495685409a7e6593cf..203618fc25dcd2f92825ae3a6b0bfed659988f57 100644 (file)
@@ -334,15 +334,18 @@ $.widget("ui.dialog", {
                }
                if ( hasButtons ) {
                        $.each( buttons, function( name, props ) {
+                               var button, click;
                                props = $.isFunction( props ) ?
                                        { click: props, text: name } :
                                        props;
-                               var button = $( "<button type='button'></button>" )
-                                       .attr( props, true )
-                                       .unbind( "click" )
-                                       .click(function() {
-                                               props.click.apply( that.element[0], arguments );
-                                       })
+                               // Default to a non-submitting button
+                               props = $.extend( { type: "button" }, props );
+                               // Change the context for the click callback to be the main element
+                               click = props.click;
+                               props.click = function() {
+                                       click.apply( that.element[0], arguments );
+                               };
+                               button = $( "<button></button>", props )
                                        .appendTo( that.uiButtonSet );
                                if ( $.fn.button ) {
                                        button.button();