Permalink
Browse files

Dialog: Don't use .attr( props, true ) for creating buttons since tha…

…t API doesn't exist in jQueery 1.3.2. Fixes #7226 - Dialog buttons badly handled with JQuery 1.3.2.
  • Loading branch information...
1 parent c205fbc commit e388153049503255810d4a871e06e9930de74c70 @scottgonzalez scottgonzalez committed Apr 7, 2011
Showing with 23 additions and 2 deletions.
  1. +23 −2 ui/jquery.ui.dialog.js
@@ -37,6 +37,18 @@ var uiDialogClasses =
maxWidth: true,
minHeight: true,
minWidth: true
+ },
+ // support for jQuery 1.3.2 - handle common attrFn methods for dialog
+ attrFn = $.attrFn || {
+ val: true,
+ css: true,
+ html: true,
+ text: true,
+ data: true,
+ width: true,
+ height: true,
+ offset: true,
+ click: true
};
$.widget("ui.dialog", {
@@ -376,12 +388,21 @@ $.widget("ui.dialog", {
{ click: props, text: name } :
props;
var button = $('<button type="button"></button>')
- .attr( props, true )
- .unbind('click')
.click(function() {
props.click.apply(self.element[0], arguments);
})
.appendTo(uiButtonSet);
+ // can't use .attr( props, true ) with jQuery 1.3.2.
+ $.each( props, function( key, value ) {
+ if ( key === "click" ) {
+ return;
+ }
+ if ( key in attrFn ) {
+ button[ key ]( value );
+ } else {
+ button.attr( key, value );
+ }
+ });
if ($.fn.button) {
button.button();
}

0 comments on commit e388153

Please sign in to comment.