короче практики жабаскриптерской у меня маловато, возникают такие конструкции:
Event.observe(window, 'load', function() {
AttributesHelperObj = new AttributesHelper();
DescrTemplatesHandlersObj = new DescrTemplatesHandlers(AttributesHelperObj);
$('product_name_mode')
.observe('change', DescrTemplatesHandlersObj.product_name_mode_change)
.simulate('change');
$('product_subtitle_mode')
.observe('change', DescrTemplatesHandlersObj.product_subtitle_mode_change)
.simulate('change');
$('mode')
.observe('change', DescrTemplatesHandlersObj.mode_change)
.simulate('change');
$('attribute_set')
.observe('change', DescrTemplatesHandlersObj.attribute_set_change)
.simulate('change');
$('use_layout')
.observe('change', DescrTemplatesHandlersObj.use_layout_change)
.simulate('change');
$('marketplace')
.observe('change', DescrTemplatesHandlersObj.marketplace_change)
.simulate('change');
$('image_width_mode').observe('change', DescrTemplatesHandlersObj.image_width_mode_change);
$('image_height_mode').observe('change', DescrTemplatesHandlersObj.image_height_mode_change);
$('image_margin_mode').observe('change', DescrTemplatesHandlersObj.image_margin_mode_change);
$('select_attributes_image').observe('change', DescrTemplatesHandlersObj.select_attributes_image_change);
editForm = new varienForm('edit_form', '<?php echo $this->getValidationUrl() ?>');
});
насколько это хуево и как вообще с этим жить дальше?)
да, можно сделать навешивание хендлеров более автоматизированным, что-то типа:
var _map = {
product_name_mode : 'change+simulate',
image_width_mode : ['change', 'click+simulate']
}
handlersConnector.connect(DescrTemplatesHandlersObj, _map);
но имхо это не совсем Ъ-way решения проблемы