FooTable demo showing how the add-on events can be intercepted.
Search:

First Name | Last Name | Job Title | DOB | Status
--- | --- | --- | --- | ---
Isidra | Boudreaux | Traffic Court Referee | 22 Jun 1972 | Active
Shona | Woldt | Airline Transport Pilot | 3 Oct 1981 | Disabled
Granville | Leonardo | Business Services Sales Representative | 19 Apr 1969 | Suspended
Easer | Dragoo | Drywall Stripper | 13 Dec 1977 | Active
Maple | Halladay | Aviation Tactical Readiness Officer | 30 Dec 1991 | Suspended
Maxine | Woldt | Business Services Sales Representative | 17 Oct 1987 | Disabled
Lorraine | Mcgaughy | Hemodialysis Technician | 11 Nov 1983 | Disabled
Lizzee | Goodlow | Technical Services Librarian | 1 Nov 1961 | Suspended
Judi | Badgett | Electrical Lineworker | 23 Jun 1981 | Active
Lauri | Hyland | Blackjack Supervisor | 15 Nov 1985 | Suspended

#### Events

Add-On | Event | Description | Parameters
--- | --- | --- | ---
Sort | `footable_sorting` | Fired just before a column is sorted | `column` column data for the column being sorted `direction` the direction of the sort ('ASC' or 'DESC')
Sort | `footable_sorted` | Fired just after a column is sorted | `column` column data for the column that was sorted `direction` the direction of the sort ('ASC' or 'DESC')
Filter | `footable_filtering` | Fired just before the table is filtered | `filter` the filter string that will be used `clear` if the filter has been cleared (boolean)
Filter | `footable_filtered` | Fired after the table has been filtered | `filter` the filter string used `clear` if the filter was cleared (boolean)
Paginate | `footable_paging` | Fired before the page is changed | `page` the new page index `size` the number of rows per page

#### Intercepting Events

You can intercept certain FooTable add-on events. If you want to stop the action from happening, then simply return false.

    $('table').footable().bind({
    		'footable_sorting' : function(e) {
    			return confirm('Do you want to sort by column: ' + e.column.name + ', direction: ' + e.direction);
    		},
    		'footable_filtering' : function(e) {
    			if (e.clear) {
    				return confirm('Do you want to clear the filter?');
    			} else {
    				return confirm('Do you want to filter by ' + e.filter);
    			}
    		},
    		'footable_paging' : function(e) {
    			return confirm('Do you want to goto page: ' + e.page);
    		}
    	});