trigger-ы Когда и зачем?
Здравствуйте.
Никогда не пользовался тригерами. Не могли бы вы объяснить зачем их вообще придумали и когда их нужно использовать. Просто я не очень понимаю. К примеру в этой статье первый пример http://jquery-docs.ru/events/trigger/#code По нажатию на вторую кнопку срабатывает и нажатие на первую. $("button:first").click(function () { update($("span:first")); }); $("button:last").click(function () { $("button:first").trigger('click'); update($("span:last")); }); А чем плох вариант? $("button:first").click(function () { update($("span:first")); }); $("button:last").click(function () { $("button:first").click(); update($("span:last")); }); Или так же там написано : Чтобы отправить первую форму на странице без использования функции submit(), сделайте: $("form:first").trigger("submit"); А чем плох сабмит формы без тригера, почему и когда я должен использовать этот самый тригер? $("form:first").submit(); |
trigger выполняет dispatchEvent
Добавим обработчик события document.body.addEventListner("click", doSomthing); Если мы хотим, чтобы событие click сработало без участия пользователя, вызовем его сами: document.body.addEventListner("click", doSomthing); function trigger(target, eventType) var event = document.createEvent("MouseEvents"); event.initEvent(eventType, true, true); target.dispatchEvent(event); } trigger(document.body, "click"); подобные действия метод trigger делает в jQuery конечно можно просто вызвать doSomthing document.body.addEventListner("click", doSomthing); doSomthing() но тогда функция не получит первым аргументом объект события В общем учите сначала чистый JavaScript, а потом уже фреймворки |
Цитата:
$someCollection.on("submit", handler);И так: $someCollection.submit(handler);И "дернуть" можно через .submit или .trigger - это одно и то же. |
Вот эта статья вроде внесла какую то ясность в мою голову
http://novice2ninja.ru/ninja-book/chapter-9/events.html Вообщем основные директивы для создания и вызова событий являются bind/trigger соответственно. А все click mouseleave и тд обертки над ними. А сами тригеры можно использовать при создании собственных событий.(по крайне мере). |
Часовой пояс GMT +3, время: 07:34. |