Показать сообщение отдельно
  #4 (permalink)  
Старый 20.07.2016, 18:48
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

ТС не понимает базиса

Цитата:
от addEventListener - другой функции:
У листенера уже есть функция, она собственно та самая другая.

Например те же яйца вид сбоку:

var validate = function(event) {
    
    event.preventDefault();
    
    var els=this.elements;

    soapRequest(els.from.value,els.to.value)

};

form.addEventListener("submit", validate);


То есть зачем куда-то передавать набор переменных, если можно там же все решить.

ЗЫ откуда в validate берется event и this? Из вызываемой функции. Это надо понимать, что у "листенера" есть такой вот унутренний интерфейс, то есть метод:

.submit=function(event,this){}; или просто свойство .submit, это сейчас не важно

который просто перезаписывается функцией addEventLisnener, то есть она заменяет

.submit=function(event,this);

на

.submit=function(event,this){// тут дохера кошерного кода };

или на указатель функции

.submit=my_lovely_fynction

И когда событие сгорает, внутри извилин браузера делается вот так

.submit(event,this);

То есть функция запускается. Если никто не менял ее - событие остается незамеченным, а если поменяли - обрабатывается.

Последний раз редактировалось warren buffet, 20.07.2016 в 18:57.
Ответить с цитированием