Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Удаление событие после вызова

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: js+jquery
Prizma
Отправлено: 24 Июня, 2016 - 17:26:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




Упрощенный пример:
CODE (javascript):
скопировать код в буфер обмена
  1. var array = ['name', 'email', 'phone'];
  2. $.each(array, function (i, v) {
  3.     form.find("input[name=" + v + "]").addClass("error").on("change", function () {
  4.         $(this).removeClass("error");
  5.         /* удалить это событие */
  6.     });
  7. });

В отличии от примера array приходит через ajax и $.each внутри замыкания. А помимо обработчика который я вешаю input, там уже есть и другие обработчики в том числе и на on change.

Подскажите, как удалить конкретный обработчик с конкретного события?

Нужно чтобы обработчик сработал 1 раз, а потом был удалён, но другие обработчики для данного события остались не тронутыми. Было бы круто удалить обработчик прямо изнутри после срабатывания.

Отключить через замыкания используя логическую переменную не подходит, тк это делается не потому, что событие мешает, а потому, что события копятся тк вешаются через ajax кучами и как итог страница может начать тормозить.

(Отредактировано автором: 24 Июня, 2016 - 17:27:16)

 
My status
 Top
IllusionMH
Отправлено: 24 Июня, 2016 - 17:28:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Prizma, .one вместо .on?
 
 Top
Prizma
Отправлено: 24 Июня, 2016 - 17:32:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




IllusionMH пишет:
Prizma, .one вместо .on?

Блин) как всё просто оказывается

спасибо!
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB