Показать сообщение отдельно
  #1 (permalink)  
Старый 28.06.2014, 22:44
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Почему не отключается обратотчик off()
Вроде простой код, но работать отказывается.

function three_list_1_hide(event){
		dom=event.target
		if ($(dom).parents('.three_list_1').length==0){
			$('body').off('click',three_list_1_hide);
			$(this).find('.three_list_1').stop().slideUp(function(){ 
				});
		}
		}	
		
	function three_list_1_change(){
		$(this).prev().stop().slideDown(
		function(){ $('body').on('click',three_list_1_hide)}	
	)}
		

$(document).ready(function() {
	$(".three_list_1_show_but").on('click', three_list_1_change);


При клике на кнопку three_list_1_show_but, показывается меню, которое находится в списке выше и по завершению этого показа, создается обработчик, чтобы при клике в любую область отличную от этого меню, оно автоматически скрывалось. На первом этапе все хорошо, но вот при скрытии меню и повторном нажатим на three_list_1_show_but, ничего не происходит, меню появляется и сразу исчезает - $('body').off('click',three_list_1_hide); такое ощущение что не отключился.
Ответить с цитированием