mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Widget: Allow instantiation without the new keyword.
This commit is contained in:
parent
3a0b617bb4
commit
244eebe74d
14
ui/jquery.ui.widget.js
vendored
14
ui/jquery.ui.widget.js
vendored
@ -37,7 +37,13 @@ $.widget = function( name, base, prototype ) {
|
|||||||
|
|
||||||
$[ namespace ] = $[ namespace ] || {};
|
$[ namespace ] = $[ namespace ] || {};
|
||||||
$[ namespace ][ name ] = function( options, element ) {
|
$[ namespace ][ name ] = function( options, element ) {
|
||||||
|
// allow instantiation without "new" keyword
|
||||||
|
if ( !this._createWidget ) {
|
||||||
|
return new $[ namespace ][ name ]( options, element );
|
||||||
|
}
|
||||||
|
|
||||||
// allow instantiation without initializing for simple inheritance
|
// allow instantiation without initializing for simple inheritance
|
||||||
|
// must use "new" keyword (the code above always passes args)
|
||||||
if ( arguments.length ) {
|
if ( arguments.length ) {
|
||||||
this._createWidget( options, element );
|
this._createWidget( options, element );
|
||||||
}
|
}
|
||||||
@ -97,7 +103,7 @@ $.widget.bridge = function( name, object ) {
|
|||||||
if ( instance ) {
|
if ( instance ) {
|
||||||
instance.option( options || {} )._init();
|
instance.option( options || {} )._init();
|
||||||
} else {
|
} else {
|
||||||
$.data( this, name, new object( options, this ) );
|
object( options, this );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -107,7 +113,13 @@ $.widget.bridge = function( name, object ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.Widget = function( options, element ) {
|
$.Widget = function( options, element ) {
|
||||||
|
// allow instantiation without "new" keyword
|
||||||
|
if ( !this._createWidget ) {
|
||||||
|
return new $[ namespace ][ name ]( options, element );
|
||||||
|
}
|
||||||
|
|
||||||
// allow instantiation without initializing for simple inheritance
|
// allow instantiation without initializing for simple inheritance
|
||||||
|
// must use "new" keyword (the code above always passes args)
|
||||||
if ( arguments.length ) {
|
if ( arguments.length ) {
|
||||||
this._createWidget( options, element );
|
this._createWidget( options, element );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user