Удаление обработчика с заданным контекстом
У выбранных элементов страницы, удаляет обработчики событий, установленные методом delegate(). Метод имеет два варианта использования:
selector — селектор, который уточняет, у каких именно элементов будет удалены обработчики.
eventType — тип обрабатываемого события, обработчики которого должны быть удалены. Например "click", "resize" и.т.д.
handler — имя функции, установленной в качестве обработчика.
Удалит обработчики всех событий, которые были установлены методом delegate(), у всех элементов, находящихся внутри выбранных.
Удалит обработчики всех событий с заданным пространством имен.
Простой пример:
var handler = function() { alert('Шла Саша по шоссе'); }; // установим обработчик нажатия кнопки мыши на элементе foo, используя в качестве контекста body $('body').delegate('#foo', 'click', handler); // удалим обработчик $('body').undelegate('#foo', 'click', handler);
Если не указывать какой именно обработчик следует удалить, будут удалены все обработчики заданного события:
$('body').undelegate('#foo', 'click'); // удалим все обработчики события 'click' у элемента foo
Если не указывать уточняющий селектор, то обработчики будут удалены у выбранных элементов:
$('#foo').undelegate('click'); // удалим все обработчики события 'click' у элемента foo
А если не указывать тип события, то у выбранных элементов будут удалены обработчики всех событий:
$('#foo').undelegate(); // удалим все обработчики установленные на элементе foo