В моем приложении у меня есть этот код:
postCreate: function(){
// ...
// Change the listWidget's order depending on whether the checkbox is
// ticked or not
self.extraWidget.orderByNameWidget.on( 'click', function( e ){
var orderByNameWidget = this;
field = orderByNameWidget.get('value') ? 'firstName' : 'lastName';
// Make up the collection with the initial filters
var collection = self.store;
if( self.initialFilter ) collection = collection.filter( self.initialFilter );
collection = collection.sort( field );
self.listWidget.set('collection', collection);
});
Этот код предназначен для того, чтобы пользователь мог нажать на флажок (orderByNameWidget) и изменить сортировку контактов. orderByNameWidget — это обычный флажок Dojo.
Теперь у меня есть глобальная настройка того, с чего должно начинаться это значение. Более аккуратный способ справиться с этим - установить значение флажка, а затем вызвать событие:
// Artificially emit the initial click if the default says so
if( ConfigVars.workspacesUsersInfo.orderByNameDefault ){
self.extraWidget.orderByNameWidget.set( 'value', true );
self.extraWidget.orderByNameWidget.emit( 'click', { bubbles: true, cancelable: true });
}
В то время как первая строка работает (настройка виджета), вторая не работает - событие «щелчок» никогда не запускается для виджета.
Я пробовал все возможные комбинации, генерируя это событие на domNode и т. д., но нет, похоже, он ничего не хочет делать. В Button.html, основе CheckBox, Dojo есть:
data-dojo-attach-event="ondijitclick:__onClick"
Интересно, в этом ли проблема? Итак... что я должен написать для полной симуляции щелчка флажка? Любые указатели?