Как заказать события, связанные с jQuery

164
задан Valentin Nemcev 8 September 2012 в 17:20
поделиться

2 ответа

Если порядок важен, можно создать собственные события и обязать обратные вызовы стрелять, когда те события инициированы другими обратными вызовами.

$('#mydiv').click(function(e) {
    // maniplate #mydiv ...
    $('#mydiv').trigger('mydiv-manipulated');
});

$('#mydiv').bind('mydiv-manipulated', function(e) {
    // do more stuff now that #mydiv has been manipulated
    return;
});

Что-то как этот, по крайней мере.

134
ответ дан dowski 23 November 2019 в 21:14
поделиться

Порядком связанные обратные вызовы призваны, управляют каждые данные о событии объекта jQuery. Нет никаких функций (что я знаю о), которые позволяют Вам просматривать и управлять теми данными непосредственно, можно только использовать, связывают () и развязывают () (или любая из эквивалентных функций помощника).

метод Dowski является лучшим, необходимо изменить различные связанные обратные вызовы для привязки с заказанной последовательностью пользовательских событий с "первым" обратным вызовом, связанным с "реальным" событием. Тот путь, неважно, в том, какой порядок они связываются, последовательность, выполнится правильным способом.

единственная альтернатива, которую я вижу, является чем-то Вы действительно, действительно не хотите рассматривать: если Вы знаете, что обязательный синтаксис функций, возможно, был связан перед Вами, попытка развязать все те функции и затем снова переплести их в надлежащем порядке самими. Это просто напрашивается на неприятности, потому что теперь Вы копировали код.

было бы здорово, если бы jQuery позволил Вам просто изменять порядок связанных событий в данных о событии объекта, но не пишущий некоторый код для сцепления в ядро jQuery, которое не кажется возможным. И существуют, вероятно, последствия разрешения этого, что я не думал, поэтому возможно, это - намеренный пропуск.

15
ответ дан Adam Bellaire 23 November 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: