приоритет события jquery
У меня есть две функции зацепил submit
событие формы. Каждая функция находится в другом месте, и одна функция может влиять на другую.
Как я могу заставить одну из этих функций подключаться с наименьшим приоритетом (т. е. быть последним, кто будет казнен)?
3 ответов
есть четыре способа, которые я могу придумать:
управление обратные вызовы себе и иметь только один обработчик событий, который вызывает функции в нужном порядке.
в функции, которая должна срабатывать последней, выполните фактическую работу в таймауте с нулевой миллисекундой. Если все остальные функции работают синхронно (и вы можете жить с последним, не происходящим во время события), это приведет к тому же вещь.
свяжите обработчик to-be-fired-last выше в дереве DOM. Вам придется проверить, работает ли это с
submit
события; пузырение этих событий не работает в IE, но jQuery docs учтите, что это было нормализовано в jQuery. Может, стоит попробовать.несколько похоже на 1. при привязке любой другой обработчик, чем низкий приоритет, освободить последнего, связать новый, и заново привязать последний беглец.
вы можете использовать пользовательские события для обработчиков и иметь первый обработчик захвата отправки, чтобы предотвратить его, сделать его вещи, запустить событие для второго обработчика и второй сделать submit
Если вы хотите использовать / можете использовать пользовательские события, вы можете использоватьhttps://github.com/fusion-events/fusion-framework