sisyphus.js
function() {
					var self = this;

					if ( self.options.timeout ) {
						self.saveDataByTimeout();
					}

					self.targets.each( function() {
						var targetFormIdAndName = getElementIdentifier( $( this ) );
						self.findFieldsToProtect( $( this ) ).each( function() {
							if ( $.inArray( this, self.options.excludeFields ) !== -1 ) {
								// Returning non-false is the same as a continue statement in a for loop; it will skip immediately to the next iteration.
								return true;
							}
							var field = $( this );
							var prefix = (self.options.locationBased ? self.href : "") + targetFormIdAndName + getElementIdentifier( field ) + self.options.customKeySuffix;
							if ( field.is( ":text" ) || field.is( "textarea" ) ) {
								if ( ! self.options.timeout ) {
									self.bindSaveDataImmediately( field, prefix );
								}
							}
							self.bindSaveDataOnChange( field );
						} );
					} );
				}
function() {
					var self = this;

					if ( self.options.timeout ) {
						self.saveDataByTimeout();
					}

					self.targets.each( function() {
						var targetFormIdAndName = getElementIdentifier( $( this ) );
						self.findFieldsToProtect( $( this ) ).each( function() {
							if ( $.inArray( this, self.options.excludeFields ) !== -1 ) {
								// Returning non-false is the same as a continue statement in a for loop; it will skip immediately to the next iteration.
								return true;
							}
							var field = $( this );
							var prefix = (self.options.locationBased ? self.href : "") + targetFormIdAndName + getElementIdentifier( field ) + self.options.customKeySuffix;
							if ( field.is( ":text" ) || field.is( "textarea" ) ) {
								if ( ! self.options.timeout ) {
									self.bindSaveDataImmediately( field, prefix );
								}
							}
							self.bindSaveDataOnChange( field );
						} );
					} );
				}
function ( ) { var self = this ; if ( self . options . timeout ) { self . saveDataByTimeout ( ) ; } self . targets . each ( function ( ) { var targetFormIdAndName = getElementIdentifier ( $ ( this ) ) ; self . findFieldsToProtect ( $ ( this ) ) . each ( function ( ) { if ( $ . inArray ( this , self . options . excludeFields ) !== - 1 ) { // Returning non-false is the same as a continue statement in a for loop; it will skip immediately to the next iteration. return true ; } var field = $ ( this ) ; var prefix = ( self . options . locationBased ? self . href : "" ) + targetFormIdAndName + getElementIdentifier ( field ) + self . options . customKeySuffix ; if ( field . is ( ":text" ) || field . is ( "textarea" ) ) { if ( ! self . options . timeout ) { self . bindSaveDataImmediately ( field , prefix ) ; } } self . bindSaveDataOnChange ( field ) ; } ) ; } ) ; }
Bind saving data

@return void
Bind saving data