Запуск мульти-событий - PullRequest
       2

Запуск мульти-событий

2 голосов
/ 19 февраля 2011

Могу ли я вызвать несколько событий в trigger () или связать их в JQuery !?Например:

$(element).trigger('event1 event2 event3');

или

$(element).trigger('event1').trigger('event2');

или

$(element).trigger('event1');
$(element).trigger('event2');

Ответы [ 2 ]

6 голосов
/ 19 февраля 2011

Как отмечают другие ответы, лучший встроенный метод:

$(element).trigger('event1').trigger('event2');

Однако я считаю, что если вы делаете это повсеместно, простой плагиндовольно просто очищает его, используя синтаксис, разделенный пробелами (например, other jQuery методов ).Вот краткий пример такого плагина:

$.fn.triggerAll = function(events) {
    if(!events) return this; //don't blow up if .triggerAll() without params
    var self = this;         //keep a reference
    $.each(events.split(" "), function(i, e) { self.trigger(e); });
    return this;
};

Затем вы можете вызывать его с разделенными пробелами именами событий, например:

$(element).triggerAll('event1 event2 event3');

Вы можете проверить егоздесь

0 голосов
/ 19 февраля 2011
$(element).trigger('event1 event2 event3');

не поддерживается.

(element).trigger('event1').trigger('event2');

оптимально для

$(element).trigger('event1');
$(element).trigger('event2');

, поскольку вы не перестраиваете объект jQuery, содержащий $ (элемент), каждый раз, когда запускаете событие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...