code: function ()
  	{
  		var that    = this;
  		var dt      = this.s.dt;
  		var details = this.c.details;
  
  		// The inline type always uses the first child as the target
  		if ( details.type === 'inline' ) {
  			details.target = 'td:first-child';
  		}
  
  		// type.target can be a string jQuery selector or a column index
  		var target   = details.target;
  		var selector = typeof target === 'string' ? target : 'td';
  
  		// Click handler to show / hide the details rows when they are available
  		$( dt.table().body() ).on( 'click', selector, function (e) {
  			// If the table is not collapsed (i.e. there is no hidden columns)
  			// then take no action
  			if ( ! $(dt.table().node()).hasClass('collapsed' ) ) {
  				return;
  			}
  
  			// Check that the row is actually a DataTable's controlled node
  			if ( ! dt.row( $(this).closest('tr') ).length ) {
  				return;
  			}
  
  			// For column index, we determine if we should act or not in the
  			// handler - otherwise it is already okay
  			if ( typeof target === 'number' ) {
  				var targetIdx = target < 0 ?
  					dt.columns().eq(0).length + target :
  					target;
  
  				if ( dt.cell( this ).index().column !== targetIdx ) {
  					return;
  				}
  			}
  
  			// $().closest() includes itself in its check
  			var row = dt.row( $(this).closest('tr') );
  
  			if ( row.child.isShown() ) {
  				row.child( false );
  				$( row.node() ).removeClass( 'parent' );
  			}
  			else {
  				var info = that.c.details.renderer( dt, row[0] );
  				row.child( info, 'child' ).show();
  				$( row.node() ).addClass( 'parent' );
  			}
  		} );
  	}
docs: Initialisation for the details handler
  
  @private