 
			
				26.11.2012, 04:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.03.2012 
					
					
					
						Сообщений: 823
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Нужно ли удалять события в js?
			 
			
		
		
		
		После того как событие выполнило свою работу и больше не нужно обязательно ли его удалять? 
 
Вот есть кнопка, при клике возникает сообщение, предположим выводит "да" и "нет" - к ним привязано событие. Когда пользователь выберет вариант сообщение пропадет, но событие останется. 
 
Нужно ли за этим следить? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 09:54
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от dmitry111
			
		
	 | 
 
	| 
		Нужно ли за этим следить?
	 | 
 
	
 
 Все зависит от алгоритма... 
Если возможна повторная обработка - не трогать. Если нет - удалять или "прятать" сам источник возникновения события...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 11:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от dmitry111
			
		
	 | 
 
	| 
		Нужно ли удалять события в js?
	 | 
 
	
 
 Не встречал, чтобы удаляли события. Это возможно?  
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 12:00
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от iGodOfAllMaxmaxmaximus
			
		
	 | 
 
	| 
		removeEventListener, а вообще толсто и не смешно
	 | 
 
	
 
 Ты удалил обработчик а не событие. Вопрос задан иначе. Учимся правильно задавать вопросы. Всё таки ресурс не философский, а программистский.  
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 12:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 :-/ 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.09.2009 
					
					
					
						Сообщений: 1,126
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Gozar
			 
		
	 | 
 
	| 
		Ты удалил обработчик а не событие. Вопрос задан иначе. Учимся правильно задавать вопросы. Всё таки ресурс не философский, а программистский.
	 | 
 
	
 
 во-во, через ж.. вопросы задают(  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 13:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от dmitry111
			
		
	 | 
 
	| 
		 Нужно ли за этим следить?
	 | 
 
	
 
 заместо тысячи обработчиков клика по кнопкам "да", "нет"  лучше повесить один на родителя - window, например.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 13:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.03.2012 
					
					
					
						Сообщений: 823
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Gozar,  Shaci,
  
Обработчик это функция, которая  реагирует на событие. 
Удаляется событие на которое вешается обработчик (функция)
 
	
 
	| 
		
			Сообщение от iGodOfAllMaxmaxmaximus
			
		
	 | 
 
	| 
		Ты сам решаешь нужно или нет. Пагубные последствия - миллибайты памяти. Если те похер - не следи, не похер - следи.
	 | 
 
	
 
 узнать бы что дороже: создавать/удалять событие при каждой необходимости или повесить один раз и держать его в памяти? 
Ведь событий может быть очень много и если их не утилизировать то они так и будут занимать память, разве нет?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 14:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от dmitry111
			
		
	 | 
 
	| 
		Удаляется событие на которое вешается обработчик (функция)
	 | 
 
	
 
   Код в студию.  
Повесь пожалуйста на click или mousemove вот эту функцию:
 
function A() {
alert(10);
}
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		addEventListener() registers a single event listener on a single target. The event target may be a single element in a document, the document itself, a window, or an XMLHttpRequest.
	 | 
 
	
 
  
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 15:09
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		В ниже следующем коде ты собираешься делать e = null? 
var top = document.getElementById('maintable-first');
function handler(e) {
    alert(e.constructor); //[object MouseEvent]
    //e = null;
}
top.addEventListener('click', handler, false);
 
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.11.2012, 15:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.03.2012 
					
					
					
						Сообщений: 823
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Gozar, 
  
e - это объект который возвращает браузер как реакцию на событие, разве нет? 
 
Под событиями я понимаю click, mouseover, mousemove и прочие 
 
 
да и метод removeEvent в перевода значит "удалить событие" 
 
 
Я тоже сначала хотел назвать тему "удалить обработчик", но обработчик это функция, которая может быть использована не только с событием, зачем ее удалять? 
 
 
Правильно тогда было бы сказать: удалить реакцию браузера на событие или как-то так)) 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось dmitry111, 26.11.2012 в 16:37.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |