Commit 9a3683b1 authored by Jason Bedard's avatar Jason Bedard Committed by Dave Methvin

Avoid jQuery(this) and a closure for .toggle(Boolean), close gh-1271.

(cherry picked from commit e53a9190)
parent adf30903
......@@ -111,8 +111,11 @@ jQuery.fn.extend({
},
toggleClass: function( value, stateVal ) {
var type = typeof value,
isBool = typeof stateVal === "boolean";
var type = typeof value;
if ( typeof stateVal === "boolean" && type === "string" ) {
return stateVal ? this.addClass( value ) : this.removeClass( value );
}
if ( jQuery.isFunction( value ) ) {
return this.each(function( i ) {
......@@ -126,13 +129,15 @@ jQuery.fn.extend({
var className,
i = 0,
self = jQuery( this ),
state = stateVal,
classNames = value.match( core_rnotwhite ) || [];
while ( (className = classNames[ i++ ]) ) {
// check each className given, space separated list
state = isBool ? state : !self.hasClass( className );
self[ state ? "addClass" : "removeClass" ]( className );
if ( self.hasClass( className ) ) {
self.removeClass( className );
} else {
self.addClass( className );
}
}
// Toggle whole class name
......
......@@ -134,10 +134,12 @@ jQuery.fn.extend({
return showHide( this );
},
toggle: function( state ) {
var bool = typeof state === "boolean";
if ( typeof state === "boolean" ) {
return state ? this.show() : this.hide();
}
return this.each(function() {
if ( bool ? state : isHidden( this ) ) {
if ( isHidden( this ) ) {
jQuery( this ).show();
} else {
jQuery( this ).hide();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment