Вы должны отстегнуть точно такую же функцию.В своем коде вы отменяете привязку другой функции с похожим размером.Чтобы использовать точно такую же функцию, сначала определите ее и сохраните в переменной, а затем используйте ссылку на эту переменную как в bind
, так и в unbind
.См. http://jsfiddle.net/DJVX2/530/ для обновления скрипки, показывающего, как это работает в вашем контексте.Основная идея заключается в следующем:
// Define the callback
var callback = function(ev) { ... };
// Bind the callback
$(selector).bind('event', callback);
// Unbind the callback
$(selector).unbind('event', callback);
Начиная с jQuery 1.7 (самая последняя версия на момент написания этой статьи), предпочтительный метод привязки событий заключается в использовании on
и off
следующим образом:
// Bind the callback
$(selector).on('event', callback);
// Unbind the callback
$(selector).off('event', callback);
(Обратите внимание, что вы также можете передать им другой аргумент для делегирования события. См. документы для получения дополнительной информации.