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

В принципе нашел решение, но т.к. javascript знаю не так хорошо, есть еще один маленький вопросик.
jQuery.fn.hide_by_click=function(){
	$('body').on('click',{elem:$(this)},function jsksl(e){
			if (e.data.elem.get(0)!=$(e.target).get(0) && e.data.elem.find($(e.target)).length==0){
				e.data.elem.slideUp('500');
				$('body').off('click',jsksl);
			}
	})
}


Вопрос в имени функции jsksl. Функцию обязательно надо обзывать, чтобы из ее тела ее можно было отрубить - $('body').off('click',jsksl);
Или можно как-то записать, чтобы не придумывать названия функций постоянно. Плюс для объекта боди может быть установленно несколько обработчиков событий с функцией jsksl и они разом вырубятся - это тоже не хорошо.
Ответить с цитированием