Обеспечение порядка выполнения обработчиков событий jQuery

Я думаю, что обработчики событий обрабатываются в порядке их регистрации. (Это так?) Если это так, то если я прикреплю обработчик события в начале моего сценария, могу ли я быть абсолютно уверен, что он сработает раньше последующих обработчиков, прикрепленных к тому же событию? Также влияют ли на это пространства имен событий? Обработчики событий запускаются последовательно (один срабатывает раньше следующего) или параллельно?

Я хочу сделать это, потому что мой скрипт зависит от размера области просмотра, который меняется при событии resize, и мне нужно постоянно искать его. Вместо того чтобы многократно вызывать $(window).width() в каждой из моих функций-обработчиков, я хотел бы поместить обработчик в начало моего сценария, который сохраняет $(window).width() в свойство объекта при каждом изменении размера. Затем в последующих обработчиках я смогу обращаться к этому свойству и быть уверенным, что это самое последнее измерение.

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

6
задан ryanve 27 January 2012 в 17:03
поделиться