Я создал программу, которая, на мой взгляд, могла бы выиграть от перехода к использованию событий jQuery (bind () и trigger ()) вместо типичной структуры программирования, вызывающей функции. Например, вместо:
//device changed
//(diffs holds key: {old_val: 'old value', new_val: 'new value'} pairs)
DEVICES.update(device, diffs)
DIAGRAM.update(device, diffs)
TABLES.update(DEVICES.$table, device, diffs)
/*
...
*/
//device changed - some other code location
DEVICES.update(device, diffs);
DIAGRAM.update(device, diffs);
TABLES.update(DEVICES.$table, device, diffs);
Я мог бы написать:
//DEVICES.update(), DIAGRAM.update, and TABLES.update have all been bound to
//DEVICES.$container's device_changed custom event (in their respective modules)
//device changed
//(diffs holds key: {old_val: 'old value', new_val: 'new value'} pairs)
DEVICES.$container.trigger('device_changed', [device, diffs]);
/*
...
*/
//device changed - some other code location
DEVICES.$container.trigger('device_changed', [device, diffs]);
Я учусь тому, как эффективно использовать bind () и trigger (), но в основном я просто придумываю это. Есть ли хорошие примеры того, как программировать / структурировать код, следуя этому управляемому событиями стилю с помощью jQuery?