в каких случаях используется addEventListener? 
		
		
		
		Я часто вижу в коде сабж с параметром "click", например. Но ведь есть свойство onclick. В каких, вообще случаях необходимо навешивать сабж? Какие у него преимущества перед onclick, onload и прочими? 
	 | 
	
		
 Простой ответ: listener'ов навешать можно сколько угодно, а on - только один. 
	Сложный ты не поймёшь всё равно.  | 
	
		
 Цитата: 
	
  | 
	
		
 Aetae, 
	написал такой вот код: div=document.createElement("div") div.innerHTML="foo" div.onclick=function(){this.innerHTML="bar"} div.onmouseout=function(){this.innerHTML="foo"} document.body.appendChild(div) Все работает прекрасно. Не подтвердилась твоя версия.  | 
	
		
 а выполнить несколько функций по одному клику? 
	 | 
	
		
 Hatchet, 
	fu1=function(){console.log(1)} fu2=function(){console.log(2)} fu3=function(){console.log(3)} all=function(){fu1(); fu2(); fu3()} div=document.createElement("div") div.innerHTML="foo" div.onclick=all document.body.appendChild(div)  | 
	
		
 Я тоже задаюсь этим вопросом. 
	Как по мне без разницы. И вроде бы привилегий никаких нету.  | 
	
		
 foo, 
	еще допишите добавление функций к событию и можно фреймворк патентовать :) Ценность addEventListener понятна из названия - add, слышите?  | 
	
		
 Цитата: 
	
  | 
	
		
 Тебе ответили. Тем, что позволяет провесить неограниченное количество обработчиков, не используя функцию-прокладку. 
	 | 
	
		
 Erolast, 
	Иными словами -- ничем.  | 
	
		
 Цитата: 
	
 А параллельно с другими людьми? Неужели до сих пор отличие не понятно стало? Название намекает, но, похоже, Вам нужно разжевывать. Представьте ситуацию: нужно на клик повесить работу скрипта. Если повесите через onclick, через полчаса позвонит коллега и обматерит, что перестал работать его скрипт, который висел на этом элементе. И начнете вместе сооружать прокладки, объединяющие функции. Или это такой троллинг, спрашивать про очевидные вещи?  | 
	
		
 Цитата: 
	
  | 
	
		
 BETEPAH, 
	Вы сейчас рассуждаете постфактум. Я не спорю, что если это гавно есть, приходится с ним считаться. Другое дело, что если бы его не было, разраб ничего бы не поерял. Оно не делает ничего, что не может сделать on. Кстати, вы не в курсе, окружение, в которое складываются ф-ции из addEventListener доступны для чтения/изменения? Это объект или замыкание?  | 
	
		
 foo, 
	
var clickEvents = $(el).data("events").click;
jQuery.each(clickEvents, function(key, handlerObj) {
    alert(handlerObj.handler)
})
Мне не нравится общение с человеком всё_гавно_докажите_мне_обра тное, поэтому я потерял интерес к продолжению этого диалога.  | 
	
		
 BETEPAH, 
	Напишите на js. Я jQuery толком не знаю, тогда я отвечу.  | 
	
		
 Почему минус можно ставить только один раз? 
	 | 
	
		
 А теперь фокус: 
	
document.querySelector('head').addEventListener('load', function(e){
    console.log(e.target.src + ' loadead')
},true)
фокус №2: 
document.addEventListener("DOMContentLoaded", function(event) {
    console.log("DOM fully loaded and parsed");
  });
 | 
	
		
 Aetae, 
	Первый пример не работает. А второй, не понятно чем отличается от onload. Последний, кстати, срабатывает позже.  | 
	
		
 
<html>
  <head>
    <script>
      document.querySelector('head').addEventListener('load', function(e){
        console.log(e.target.src + ' loadead')
      },true);
    window.onload = function(event) {
       console.log("window fully loaded");
    };
    document.addEventListener("DOMContentLoaded", function(event) {
      console.log("DOM fully loaded and parsed");
    });
    </script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.js"></script>
  <head>
  <body>
    <img src="http://fc05.deviantart.net/fs71/i/2014/190/2/1/berlin_downfall1945_by_lotharzhou-d7pfolv.jpg" width="100%">
  </body>
</html>
 | 
| Часовой пояс GMT +3, время: 09:19. |