public/ckeditor/4.4dev/plugins/dialogui/plugin.js
function( dialog, elementDefinition, htmlList ) {
				if ( !arguments.length )
					return;

				if ( typeof elementDefinition == 'function' )
					elementDefinition = elementDefinition( dialog.getParentEditor() );

				initPrivateObject.call( this, elementDefinition, { disabled: elementDefinition.disabled || false } );

				// Add OnClick event to this input.
				CKEDITOR.event.implementOn( this );

				var me = this;

				// Register an event handler for processing button clicks.
				dialog.on( 'load', function( eventInfo ) {
					var element = this.getElement();

					( function() {
						element.on( 'click', function( evt ) {
							me.click();
							// #9958
							evt.data.preventDefault();
						} );

						element.on( 'keydown', function( evt ) {
							if ( evt.data.getKeystroke() in { 32: 1 } ) {
								me.click();
								evt.data.preventDefault();
							}
						} );
					} )();

					element.unselectable();
				}, this );

				var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
				delete outerDefinition.style;

				var labelId = CKEDITOR.tools.getNextId() + '_label';
				CKEDITOR.ui.dialog.uiElement.call( this, dialog, outerDefinition, htmlList, 'a', null, {
					style: elementDefinition.style,
					href: 'javascript:void(0)',
					title: elementDefinition.label,
					hidefocus: 'true',
					'class': elementDefinition[ 'class' ],
					role: 'button',
					'aria-labelledby': labelId
				}, '<span id="' + labelId + '" class="cke_dialog_ui_button">' +
											CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
										'</span>' );
			}
function( dialog, elementDefinition, htmlList ) {
				if ( !arguments.length )
					return;

				if ( typeof elementDefinition == 'function' )
					elementDefinition = elementDefinition( dialog.getParentEditor() );

				initPrivateObject.call( this, elementDefinition, { disabled: elementDefinition.disabled || false } );

				// Add OnClick event to this input.
				CKEDITOR.event.implementOn( this );

				var me = this;

				// Register an event handler for processing button clicks.
				dialog.on( 'load', function( eventInfo ) {
					var element = this.getElement();

					( function() {
						element.on( 'click', function( evt ) {
							me.click();
							// #9958
							evt.data.preventDefault();
						} );

						element.on( 'keydown', function( evt ) {
							if ( evt.data.getKeystroke() in { 32: 1 } ) {
								me.click();
								evt.data.preventDefault();
							}
						} );
					} )();

					element.unselectable();
				}, this );

				var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
				delete outerDefinition.style;

				var labelId = CKEDITOR.tools.getNextId() + '_label';
				CKEDITOR.ui.dialog.uiElement.call( this, dialog, outerDefinition, htmlList, 'a', null, {
					style: elementDefinition.style,
					href: 'javascript:void(0)',
					title: elementDefinition.label,
					hidefocus: 'true',
					'class': elementDefinition[ 'class' ],
					role: 'button',
					'aria-labelledby': labelId
				}, '<span id="' + labelId + '" class="cke_dialog_ui_button">' +
											CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
										'</span>' );
			}
function ( dialog , elementDefinition , htmlList ) { if ( ! arguments . length ) return ; if ( typeof elementDefinition == 'function' ) elementDefinition = elementDefinition ( dialog . getParentEditor ( ) ) ; initPrivateObject . call ( this , elementDefinition , { disabled : elementDefinition . disabled || false } ) ; // Add OnClick event to this input.
 CKEDITOR . event . implementOn ( this ) ; var me = this ; // Register an event handler for processing button clicks.
 dialog . on ( 'load' , function ( eventInfo ) { var element = this . getElement ( ) ; ( function ( ) { element . on ( 'click' , function ( evt ) { me . click ( ) ; // #9958
 evt . data . preventDefault ( ) ; } ) ; element . on ( 'keydown' , function ( evt ) { if ( evt . data . getKeystroke ( ) in { 32 : 1 } ) { me . click ( ) ; evt . data . preventDefault ( ) ; } } ) ; } ) ( ) ; element . unselectable ( ) ; } , this ) ; var outerDefinition = CKEDITOR . tools . extend ( { } , elementDefinition ) ; delete outerDefinition . style ; var labelId = CKEDITOR . tools . getNextId ( ) + '_label' ; CKEDITOR . ui . dialog . uiElement . call ( this , dialog , outerDefinition , htmlList , 'a' , null , { style : elementDefinition . style , href : 'javascript:void(0)' , title : elementDefinition . label , hidefocus : 'true' , 'class' : elementDefinition [ 'class' ] , role : 'button' , 'aria-labelledby' : labelId } , '<span id="' + labelId + '" class="cke_dialog_ui_button">' + CKEDITOR . tools . htmlEncode ( elementDefinition . label ) + '</span>' ) ; }
A button with a label inside.

@class CKEDITOR.ui.dialog.button
@extends CKEDITOR.ui.dialog.uiElement
@constructor Creates a button class instance.
@param {CKEDITOR.dialog} dialog Parent dialog window object.
@param {CKEDITOR.dialog.definition.uiElement} elementDefinition
The element definition. Accepted fields:

* `label` (Required) The button label.
* `disabled` (Optional) Set to `true` if you want the
button to appear in the disabled state.

@param {Array} htmlList List of HTML code to output to.
A button with a label inside .