Показать сообщение отдельно
  #1 (permalink)  
Старый 01.05.2017, 22:15
Интересующийся
Отправить личное сообщение для TommyWork Посмотреть профиль Найти все сообщения от TommyWork
 
Регистрация: 12.04.2017
Сообщений: 15

Удалить обработчик с вложенной функцией
Здравствуйте.

Если я хочу в свою функцию передать событие или просто переменные, то я пишу так:
//---------- Это в отдельном файле js подключается в head страницы
main_elem.addEventListener('mousedown' function(e) {
first(e);
});
main_elem.removeEventListener('mouseup' Myfunction);
//--------------------------------------------------------------------------------

// А это вложенный js тоже в head страницы------------------------------
function first(e) {
e = e || event;
elem.addEventListener('mousemove', function(e){
myFunction(e);
});
}

Причем если в функции не передавать (e) то например фаерфокс не понимает его внутри функции.

В моем примере происходит событие "mousedown", это событие порождает новое событие - "mousemove", когда же произойдет событие "mouseup", событие "mousemove" надо прекратить. Можно ли это сделать иначе? Если нет, то вопросы ниже.

Вопрос как такие обработчики удалять через removeEventListener(). Если его формат:
elem.removeEventListener('click', myFunction);
Где myFunction - функция без указания переданных переменных.
И как при создании таких обработчиков передать в функцию параметры помимо (e)?

Последний раз редактировалось TommyWork, 01.05.2017 в 22:26.
Ответить с цитированием