Опубликовано admin - вт, 05/01/2018 - 23:40

На сегодняшний день метод live поддерживает следуюище события: click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup.

Не поддерживаемые события метода live: blur, focus, mouseenter, mouseleave, change, submit.

В отличие от функции bind() только единственное событие может быть связано с функцией live().

Метод live схож с методом bind, но с одним важным отличием: когда вы связываете с помощью метода live событие, то происходит связывание с данным событием всех текущих и будущих элементов на странице.

К примеру, если вы связали методом live() событие click со всеми li элементами на странице, а затем добавили другой элемент li, в дальнейшем это событие - click, будет продолжать срабатывать для новых элементов (то есть, нет необходимости применять новую функцию bind или live для новых элементов li).

События, связанные функцией live() не «всплывают» по документу в традиционной манере и не могут быть остановлены применением свойств stopPropagation или stopImmediatePropagation.

К примеру, возьмём два примера с событиями click – первое связано с элементом "li" и второе с элементом "a", вложенным в элемент "li". Если вы кликните по элементу "a" оба события будут инициированы. Это происходит, потому что связывание, например так - $("li").live("click", fn), можно охарактеризовать следующими словами: «Где ни произойдёт событие click, - по элементу li или внутри элемента li, - инициировать данное событие в любом случае. См. последний пример ниже.

Функция live() является подобием популярного [liveQuery] плагина. Однако метод live несколько отличается:

  1. live (сейчас) поддерживает подмножество событий. Список поддерживаемых событий смотрите выше;
  2. live не поддерживает свойства no-event, style, callback, которые используются в liveQuery. Только обработчики события могут быть связаны меотодом live;
  3. live не имеет свойств "setup" или "cleanup", поскольку все события передаются раньше, чем происходит связывание;

Чтобы удалить, связанные функцией live() события, вы должны использовать функцию die()


Пример:

Пример:

Пример:

Пример:

Пример:

Пример:

На разработку сайта! Скидки до 20%!