Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Функция которая отменяет все обработчики и устанавливает свой (https://javascript.ru/forum/jquery/32839-funkciya-kotoraya-otmenyaet-vse-obrabotchiki-i-ustanavlivaet-svojj.html)

itoldya 31.10.2012 21:08

Функция которая отменяет все обработчики и устанавливает свой
 
Есть ли такая функция в jquery которая устанавливает обработчик и при этом удаляет все другие обработчики для элемента?

melky 31.10.2012 22:25

нет, но можно их удалить самому, не зная ничего про уже установленные

Nekromancer 31.10.2012 23:23

Мде, в jquery уже стало жалко исполнить 2 функции вместо одной. Там ведь должны быть функции на все случаи жизни!

$(...).off('click').on('click', doStaff);

nerv_ 01.11.2012 00:56

Цитата:

Сообщение от Nekromancer
Мде, в jquery уже стало жалко исполнить 2 функции вместо одной. Там ведь должны быть функции на все случаи жизни!

с блекджеком и шлюхами :D

Hoshinokoe 01.11.2012 12:41

itoldya,

$('#foo').unbind();
удаляет все обработчики с элемента
$('#foo').bind('click', handler);
вешает обработчик на клик

Nekromancer 01.11.2012 15:27

Hoshinokoe,
bind/unbind устарел, это раз
unbind() убъёт вообще все обработчики, а не только клик, это два

Hoshinokoe 01.11.2012 16:35

Nekromancer,

Цитата:

Сообщение от Nekromancer
bind/unbind устарел, это раз

Да, но он работает во всех версиях. on/off работает только начиная с 1.7

сначала читаем внимательно вопрос:
Цитата:

Сообщение от itoldya
Есть ли такая функция в jquery которая устанавливает обработчик и при этом удаляет все другие обработчики для элемента

Цитата:

Сообщение от Nekromancer
unbind() убъёт вообще все обработчики, а не только клик, это два

Мой ответ по вопросу, про клик ни слова не было, ты сам придумал :)

Nekromancer 01.11.2012 22:09

Hoshinokoe,
клие это вариация. Может быть и load.


Часовой пояс GMT +3, время: 14:21.