Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jquery события on и live (https://javascript.ru/forum/misc/40597-jquery-sobytiya-i-live.html)

Esigns 12.08.2013 15:17

jquery события on и live
 
В доках по jquery прочитал следующее:
As of jQuery 1.7, the .live() method is deprecated.
Есть код:
$('#id').live('click', function(){ alert('click!'); });
и код:
$('#id').on('click', function(){ alert('click!'); });
Первый вызывается всегда, тогда как через on событие приходится перенавешивать на новые только что добавленные элементы, то конечно же не удобно.

Как тогда использовать on вместо live ? Или через некоторое время нужно будет писать лишний код который будет вешать события на новые елементы?
Спасибо.

ОлегА 12.08.2013 15:20

вот так
$(document).on('click', '#id', function(){ alert('click!'); });

Esigns 12.08.2013 15:21

спс

Esigns 12.08.2013 15:28

Есть проблема, при таком использовании:
$(document).on('click', '#id', click).on('mouseleave', '#id', mouseLeave);
У функции click мне нужно убрать с кликнутого элемента событие mouseLeave.
Так как событие было на document мне приходится убрать из document-а событие mouseleave и все события mouseleave на странице перестают работать...

Esigns 12.08.2013 15:30

А все. Понял. нужно делать так on('click.id'....


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